(四)、有类型变量

2021-01-14  本文已影响0人  雪燃归来

(一)、declare和typeset命令

declare命令和typeset命令两者等价

declare、typeset命令都是用来定义变量类型的

本小节演示以declare命令

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
上一篇 下一篇

猜你喜欢

热点阅读