当前位置:网站首页>Shell编程规范与变量
Shell编程规范与变量
2022-07-31 05:20:00 【....yc】
文章目录
Shell编程规范与变量
shell脚本
一、shell概述
linux系统中的shell是一个特殊的应用程序,它介于操作系统内核与用户之间,充当了一个“命令解释器”的角色。负责接受用户输入的操作指令并进行解释,将需要的执行的操作传递给内核执行,并输出结果。
二、shell脚本的构成
1、脚本申明(解释器):
若第一行为"#!bin/bash",表示此行以下的代码语句是通过/bin/bash程序来解释执行,#!/bin/bash为默认解释器。还有其他类型的解释器,比如:#!usr/bin/python、#!/usr/bin/expect
2、注释信息
以"#"开头的语句表示为注释信息,被注释的语句在运行脚本时不会被执行
3、可执行语句
比如echo命令,用于输出" "之间的字符串
编辑格式:vim/root/yc.sh
#!/bin/bash
echo “hello world”
三、shell脚本的执行
方法一:指定路径的命令,要求文件必须有x权限
chomd +x /root/yc.sh
指定绝对路径:/root/yc.sh
指定相对路径:./yc.sh
方法二:指定shell来解释脚本,不要求文件必须有x权限
sh 脚本路径:sh yc.sh
source 脚本路径:.yc.sh 或者 source yc.sh
4、管道符操作 |
将管道符号"|"左侧的命令输出的结果,作为右侧命令的输入(处理对象),同一行命令中可以使用多个管道。
5、重定向
1、交互式硬件设备
类型 | 设备文件 | 文件描述编号 | 默认设备 |
---|---|---|---|
标准输入 | /dev/stdin | 0 | 键盘 |
标准输出 | /dev/stdout | 1 | 显示器 |
标准错误输出 | /dev/stderr | 2 | 显示器,2, |
6、变量的分类
1.变量的分类
环境变量:有系统维护,应用设置工作环境
位置变量:通过命令行给脚本程序传递参数
自定义变量:由用户自己定义,修改和使用
预定义变量:bash中内置的一类变量,不能直接修改
2.定义新的变量
格式:变量名=变量值
变量命名规则:以字母或下划线开头,区分大小写
3.自定义变量
Bash中的变量操作相对比较简单,不像其他高级编程语言((如c/C++、Java等)那么复杂。在定义一个新的变量时,一般不需要
提前进行声明,而是直接指定变量名称并赋给初始值(内容)即可
格式:变量名=变量值
变量名:临时存放数据的地方
变量值:临时的可变化的数据
等号两边没有空格。变量名称需以字母或下划线开头,名称中不要包含特殊字符(如+、一、*、/、.、 ?、8、&、#等)
用echo查看和引用变量的值
通过在变量名称前添加前导符号"$”,可以引用一个变量的值,使用echo命令可以查看变量,可以在一条echo 命令中同时查看多个变量值
当变量名称容易和紧跟其后的其他字符混淆是,需要添加“{}”括起来,否则将无法确定正确的变量名称,对于未定义的变量,将显示为空置。
赋值时使用引号
双引号" ":允许通过$符号引用其他变量值**
单引号’ ':禁止引用其他变量值,$视为普通字符**
反撇号:命令替换,提取命令执行后的输出结果。
…` 和$(…)作用相同
7、read命令获取输入内容
方法一:
read -p “提示信息” 变量名
echo $变量名
方法二:
echo -n “提示信息”
read 变量名
mg-jZODrA3I-1658972448674)]
7、read命令获取输入内容
方法一:
read -p “提示信息” 变量名
echo $变量名
方法二:
echo -n “提示信息”
read 变量名
echo $变量名
边栏推荐
猜你喜欢
windows下mysql忘记密码登录,并创建用户
Pytorch study notes 10 - detailed explanation of convolutional neural network and application of multi-classification task of mnist dataset
2021年开发人员的绊脚石:构建时间长
软件测试之登录测试详解
10.0 堆体系结构概述之元空间/永久代
vs2022 xlua 集成第三方库编译报错Generator Visual Studio 15 2017 could not find any instance of Visual Studio.
Oracle入门 13 - Linux文件目录类命令
超详细!!!让你通透数组!!!初学复习不迷路!!
cenos7配置IP,配置IP不生效
链表理论基础
随机推荐
Pytorch learning notes 09 - multiple classification problem
简单计算器,单层循环输出乘法表,字符串方法的使用,格式化输出
Wlan实验(ENSP)
等待,信息打印,浏览器操作,键盘事件
C语言对文件的操作(完整版)
DOM操作-案例:切换背景图片
JDBC的使用
ES6-class类
青龙面板从零搭建教程
关于网络安全法的个人理解
Incredibuild 宣布支持 Yocto
三本毕业,中途转行软件测试,顶着这些光环从月薪7k干到20k+,感觉还不错
ES6-新增的基本数据:Symbol
VS2019配置配置项目属性自定义输出目录与中间目录
cenos7安装cmake-3.22.2
力扣.两数之和/四数相加||
顶级程序员都是怎么做的?
变更管理与 DevOps —— 二者同时进行吗?
哈希表基础
Oracle入门 09 - Linux 文件上传与下载