declare和typeset命令
declare和typeset命令两者等价
declare,typeset命令都是用来定义变量类型的
本次以declare演示
参数 | 含义 |
---|---|
-r | 将变量设为只读 |
-i | 将变量设为整数 |
-a | 将变量定义为数组 |
-f | 显示此脚本前定义过的所有函数及内容 |
-F | 仅显示此脚本前定义过的函数名 |
-x | 将变量声明为环境变量 |
取消只需要把减号换成加号就可以了
declare -r
这时var2还能修改
这时将 var2声明成为只读变量,这时就不可修改了。
declare -i
sheel默认变量为字符串,如果需要整形的话需要定义
declare -a
定义一个数组,给数组赋值
- 输出数组内容
- echo ${array[@]} 输出全部内容
- echo ${array[1]} 输出索引为1的内容
- 获取数组长度
- echo ${#array} 数组内索引为1的元素长度
- echo ${#array[2]} 数组内下标索引为2的元素长度
- 给数组某个下标赋值:
- array[0]=“lily” 给数组下索引为1的元素赋值
- array[20]=“haahaha” 给数组尾部添加一个新元素
- 删除元素
- unset array[2] 删除索引为2的元素
- unset array 清空整个数组
- 分片访问
- ${array[@]:1:4} 显示数组下标从1开始到3的元素
- 内容替换
- ${array[@]/an/AN} 将数组内所有的元素an替换成AN
- 数组便利
for v in ${array[@]}
do
echo $v
done
declare -x
声明为环境变量,可以在脚本中直接使用
新建一个脚本文件