(一)、declare和typeset命令
declare命令和typeset命令两者等价
declare、typeset命令都是用来定义变量类型的
本小节演示以declare命令

(二)、例子
1、声明变量为只读类型
declare -r var="hello"
var=123
// bash: var: readonly variable
2、声明变量为整型
num1=2001
num2=$num1+1
echo $num2
// 2001+1
declare -i num2
num2=$num1+1
echo $num2
// 2002
num2="aaa" // 声明为一个变量后,赋值字符串无效,全部为0
echo $num2
// 0
3、declare -f 在脚本中显示定义的函数(名称)和内容(函数体)
4、declare -F 在脚本中显示定义的函数(名称)
5、declare -a 定义数组
declare -a array
array=("aiguo" "antiai" "Bob" "Jane")
/**输出数组的内容**/
## 输出全部内容
echo ${array[@]} // aiguo antiai Bob Jane
## 输出下标索引为0的内容
echo ${array[0]} // aiguo
/**获取数组的长度**/
## 数组内元素个数
echo ${#array[@]} // 4
##数组内下标索引为2的元素长度
echo ${#array[0]} //5
/**给数组某个下表赋值**/
array[0]="body"
array[20]="then"
/**删除数据**/
unset array[0]
##删除所有数据(清空)
unset array
/**分片访问**/
array=("aiguo" "antiai" "Bob" "Jane")
arr1=${array[@]:1:2}
echo $arr1
// antiai Bob
/**内容替换**/
#将an替换成na
arr1=${array[@]/an/na}
数组遍历
#!/bash/bin
#
declare -a array
array=("aiguo" "antiai" "Bob")
for v in ${array[@]}
do
echo $v
done
declare -x 声明全局变量,可以在脚本中直接使用
declare -x aiguo
aiguo=123
取消声明的变量
declare +r
declare +i
declare +a
declare +X
网友评论