PART I --- Shell变量
- 变量类型:
- 1)局部变量: 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
2)环境变量: 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
3)shell变量: shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
- 1)局部变量: 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
- 变量相关操作:
- 1)声明变量: name = "ceshi"
2)使用变量:$
name 或者$
{name}- 只读变量: ceshi = "只读变量" readonly ceshi
- 删除变量: unset 变量名称
- Shell 字符串:
- 1)可以用单引号和双引号声明,也可以都不用
2)获取字符串的长度:string="abcd" echo ${#string} #输出: 4
- 3)提取子字符串: 从例子字符串第 2 个字符开始截取 4 个字符
str = "dhahdjadhja"
echo ${string:1:4} #输出: hahd
- 4)查找字符串: 查找字符 i 或 o 的位置(哪个字母先出现就计算哪个)
string="runoob is a great site"
echo `expr index "$string" io` # 输出 4
- Shell 数组:
- 1)定义数组: array = (val1 val2 val3 ... valn) or array_name=(
value0
value1
value2
value3
)- 读取数组: valn =
{array_name[@]}
- 读取数组: valn =
- Shell 运算符:Shell 和其他编程语言一样,支持多种运算符,包括:
- 算数运算符
- 关系运算符
- 布尔运算符
- 字符串运算符
- 文件测试运算符
Attention:原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作