-
等号两边不能有空格
-
使用一个定义过的变量,只要在变量名前面加 $ 即可。
-
已定义的变量,可以被重新定义。
-
使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。
格式: readonly 变量名=值
使用 unset 命令可以删除变量。 不能删除只读变量。
-
单引号字符串的限制:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
-
双引号的优点: 双引号里可以有变量 双引号里可以出现转义字符
-
字符串操作
(1)获取字符串长度: ${#字符串}
(2) 提取子字符串: ${字符串:下标} ##下标从0开始计算
${字符串:下标:长度}
(3) 查找子字符在字符串中的位置: 从1开始计算位置
**
expr index **字符串 子字符串
-
特殊字符
[外链图片转存中…(img-YRwjI0WB-1622898181535)]
-
Shell程序:运算符
(1)运算数和运算符之间要有空格
(2)完整的表达式要被 包含空格
(3)还可以通过(()) 、 $[] 进行算术运算
(4)
运算符号 代表意义 = 等于 应用于:整型或字符串比较 如果在[] 中,只能是字符串 != 不等于 应用于:整型或字符串比较 如果在[] 中,只能是字符串 < 小于 应用于:整型比较 在[ ] 中,不能使用 表示字符串 > 大于 应用于:整型比较 在[1 > 0] 中,不能使用 表示字符串 -eq 等于 应用于:整型比较 -ne 不等于 应用于:整型比较 -lt 小于 应用于:整型比较 -gt 大于 应用于:整型比较 -le 小于或等于 应用于:整型比较 -ge 大于或等于 应用于:整型比较 -a 双方都成立(and) 逻辑表达式 –a 逻辑表达式 -o 单方成立(or) 逻辑表达式 –o 逻辑表达式: -z 空字符串 -n 非空字符串 -
循环
(1)if函数
写if函数的时候后面要有空格,函数定义前面要有空格,等于号两边要有空格
(2)for循环
shell脚本里一行语句写完,如果还想在后面写语句就得加分号,如果是重起一行,可以不加分号,默认换行是一个分号。
(3)while语法:
方式一: **while** **[** expression **]**
do
command
…
**done
方式二:i=1
**while** ((i<=3))
**do**
echo $i
**let** i++
done
let 命令是 BASH 中用于计算的工具,用于执行一个或多个表达式,变量计算中不需要加上 $ 来表示变量。
方式三: 无限循环
**while** true
**do**
command
**done**
(4)case格式:
case $变量名称 in
匹配模式1 )
程序段
;; ==> 匹配模式1执行完毕 相当于java中的break
匹配模式2 )
程序段
;;
* ) ==> 默认值,没有匹配的模式
程序段
;;
esac ==> 代表case语句结束