- 变量名定义时不加
符号,使用时要加
符号,使用时要加
符号,使用时要加符号
name="L1ak"
echo ${name}
echo $name
- 变量名和等号之间不能有空格,可以用_下划线
- 变量名不能有空格,不能使用标点符号
- 已定义的变量可以重新被定义
- 使用关键字 readonly 定义只读变量,定义之后就不可以改变
- 可以使用unset 删除变量,删除后不能再次使用
- 变量类型
- 局部变量 在脚本或命令中定义,只在当前shell实例中有效
- 环境变量 所有的程序中都能访问
- shell变量 包括局部变量和环境变量
- shell字符串
- 单引号字符
- 之中的变量是无效的,单引号中的字符串都会原样输出
- 之中不能再有单个单引号
- 双引号
- 拼接字符串 greeting=“hello, “$your_name” !”
- 获取字符串长度
string="abcd" echo ${#string} # 输出 4
- 提取子字符串
string="abcd acd" echo ${string:1:4}
从第二个字符开始截取4个字符 - 查找子字符串
string="abcd acd" echo
expr index “$string” io`` 查找i 或o 的位置输出4
9.shell 数组 - 定义 数组名={值1 值2 … 值n}
- 可以单独定义数组分量 数组名[0]=值0
- 读取数组 ${数组名[下标]}
- 关联数组 使用declare -A site ,声明一个名为site的关联数组(hash表)(key- value)
- 获取数组中全部元素,使用
echo "数组的元素为: ${my_array[*]}" echo "数组的元素为: ${my_array[@]}"
- 获取数组的长度 `${#array_name[*]} 或 ${#array_name[@]}
- 注释
- 单行注释,#开头为注释
- 多行注释 , 感叹号可以用其他符号代替
:<<!
注释内容
!