【Linux学习】之 Shell(变量、数组)
原创
©著作权归作者所有:来自51CTO博客作者DonaldY的原创作品,请联系作者获取转载授权,否则将追究法律责任
一、变量
Shell 中的变量必须以字母或下划线开头,后面可以跟数字、字母和下划线。
(变量严格区分大小写,比如:Donald 和 donald 不同)
(1)变量赋值
定义变量: 变量名=变量值
(变量名和变量值之间用等号紧紧相连,之间没有任何空格)
Tips:
如果变量值引用的是其他变量,则必须使用双引号。因为单引号会阻止Shell解释特殊字符$
name=Donald
name="Donald"
// 当变量中有空格时必须用引号括起,否则会出现错误
name="Hi Donald"
(2)变量取值
echo $name
// 严谨写法
echo ${name}
echo ${name}
(3)取消变量
取消变量是指变量从内存中释放。
name=Donald
echo $name
// 取消变量
unset name
echo $name
// 撤销函数
unset_function() {
echo "Hello World"
}
unset_function
unset unset_function
unset_function
(4)特殊变量
① 脚本或命令返回值:$?
用于判断一些命令是否执行成功。
② 位置参数
二、参数
(1)数组定义
// ①
declare -a Array
Array[0]=0
Array[1]=1
// ②
declare -a Name=('john' 'sue')
Name[2]='wang'
// ③
Name=('john' 'sue')
// ④跳号赋值
Score=([3]=3 [5]=5 [7]=7)
(2)数组操作
// 取单个值
echo ${Array[0]}
// 取出所有元素的值
echo ${Array[@]}
echo ${Array[*]}
// 取出第一、第二个元素
echo ${Array[@]:1:2}
echo ${Array[@]:0:5}
// 数组长度
echo ${#Array[@]}
echo ${#Array[*]}
// 若取的是某个元素,元素是字符串,则取得字符串长度
echo ${#Array[2]}
// 连接数组
Conn=(${Array[@]} ${Name[@]})
echo ${Conn[@]}
// 取消数组或元素
unset Array[1]
echo ${Array[@]}
unset Array
echo ${Array[@]}