数组
定义数组:ISP=(10.100.1.10 10.100.1.10 10.100.1.10)
显示数组的所有元素:echo ${ISP[@]}
#返回内容为:10.100.1.10 10.100.1.10 10.100.1.10
显示数组元素个数:echo ${#ISP[@]}
#返回内容为:3
显示数组的第一个元素:echo ${ISP[0]}
#返回内容为:10.100.1.10
转义与引用
特殊字符:一个字符不仅有字面意义,还有元意(meta-meaning)
比如:注释(#)、分号(;)、转义符号()、和引号(" ')
转义: 单个字符前的转义符号
\n\r\t :单个字母的转义
$ " \ :单个非字母的转义
引用符号:双引号(")、单引号(')、反引号(`)
运算符
赋值运算符 := 赋值运算符,用于算数赋值和字符串赋值,使用unset取消为变量的赋值, = 除了作为赋值运算符还可以作为测试操作符。
算术运算符:基本运算符(+ - * / ** %),使用expr进行运算(expr 4+5)
数字常量:let "变量名 = 变量值 ",变量值使用0开头为八进制,变量值使用0x开头为十六进制。
双圆括号:let命令的简化, (( a =10)) 、((a++))、echo $((10+20))
特殊符号
引号: 完全引用(')、部分引用(")、执行命令(`)
括号:
圆括号: () (()) $()
单独使用圆括号会产生一个子shell(xyz=123)
数组初始化:IPS=(ip1 ip2 ip3)方括号:[] [[]]
单独使用方括号是测试(test)或数组元素功能
两个方括号表示测试表达式尖括号 重定向符号:<>
花括号
输出范围 echo {0..9}
文件复制 :cp /etc/passwd{,.bak}
运算和逻辑符号:算术运算符: +-*/% 、比较运算符:<>= 、逻辑运算符:&& || !
转义符号
其他符号
- :通配符
?:条件测试或通配符
$:取值符号
| :管道符
& :后台运行
_ :空格
: 注释符
; :命令分隔符,case 语句的分隔符要转义 ;;
: :空指令
. 和source : 命令相同
~ :家目录
, 分隔符号