Shell脚本简介
基于shell命令的批量执行工具,帮助我们重复性多,定时完成或者自动化完成的任务脚本
什么是Shell
shell就是一个命令解释器,将用户输入的命令解释为机器系统可以读懂的语言,或者说让用户可以用命令操作系统的辅助工具
变量
在shell中,经常有一些会变化的值需要保存,用来保存在这值的名称久违变量
自定变量
正常赋值
a=b
变量名用字母或下划线开头,不要包含特殊字符
_a=b
使用"$"符号引用变量
echo $a
双引号赋值说明变量值中存在空格
a="b c"
赋值中"$"符号引用变量说明将变量值赋值给另一个变量名
b="a $a"
单引号赋值说明变量值中存在特殊符号显示其本意
b='a $a'
反撇号用于将命令输出的屏幕结果赋值给变量名
a=`pwd`
read命令可以将用户的输入赋值给变量名
read a
环境变量
运行linux系统需要创建一些变量,主要用于工作环境,宿主目录,路径查找,用户当前目录等
env # 查看本机所有变量
位置变量
用户根据参数的传递位置取值
$# 命令行中位置参数个数
$* 所有位置参数的内容
$? 上一条命令执行返回的状态
$0 当前执行的脚本或者程序的名称
$1-9 位置参数1-9
变量的作用域
默认情况下,新定义的变量只在当前的shell环境中有效,称之为局部变量
Export会将局部变量声明为全局变量
父shell只能在当前shell输出
子shell只能在子shell输出
子shell通过export命令可以输出到父shell中
先定义后导出
a=b
export a
导出同时定义赋值
export a=b
算数运算
++ -- 增加或减少
* / % 乘除取余
+ - 加法 减法
< <= > >= 比较符号
== != 等于 不等于
& 位与运算
^ 位异或
| 位或
&& 逻辑与
|| 逻辑或
? : 条件表达式
= += -= *= /= %= &= ^= <<= >>= |= 赋值运算