Shell脚本变量定义
⾃定义变量
bash中变量⽆类型区分
aa=abc123 定义变量并赋值abc123
aa= 定义空变量或者清空变量aa,但变量还存在
export test="hello world" 设定环境变量test
shell最简单脚本export或者export -p 显⽰所有环境变量
declare / typeset 选项变量名
declare 或 typeset 有同样的功能:指定变量属性。如果使⽤ declare 后⾯并没有接任何参数,那么 bash 就会主动的将所有的变量名称与内容通通叫出来,就好像使⽤ set ⼀样!
选项:
-a 将后⾯的变量定义成为数组 (array)
-i 将后⾯的变量定义成为整数(integer)
-x 将后⾯的变量变成环境变量,同export ⼀样,
-r 将后⾯的变量设定为只读 ,该变量不可被更改内容,也不能 unset
-f 列出脚本中的函数
readonly⽤来设置只读变量
readonly 变量名
readonly -f 函数名称
readonly -a 数组变量
变量间接引⽤ eval var1=\$$var2
Shell⽀持⾃定义变量。
定义变量
定义变量时,变量名不加美元符号($),如:
代码如下:
variableName="value"
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语⾔都不⼀样。同时,变量名的命名须遵循如下规则:
•⾸个字符必须为字母(a-z,A-Z)。
•中间不能有空格,可以使⽤下划线(_)。
•不能使⽤标点符号。
•不能使⽤bash⾥的关键字(可⽤help命令查看保留关键字)。
变量名外⾯的花括号是可选的,加不加都⾏,加花括号是为了帮助解释器识别变量的边界,⽐如下⾯这种情况:
代码如下:
for skill in Ada Coffe Action Java
do
echo "I am good at ${skill}Script"
done
如果不给skill变量加花括号,写成echo "I am good at $skillScript",解释器就会把$skillScript当成⼀个变量(其值为空),代码执⾏结果就不是我们期望的样⼦了。
推荐给所有变量加上花括号,这是个好的编程习惯。
重新定义变量
已定义的变量,可以被重新定义,如:
代码如下:
your_name="tom"
echo $your_name
your_name="alibaba"
echo $your_name
这样写是合法的,但注意,第⼆次赋值的时候不能写$your_name="alibaba",使⽤变量的时候才加美元符($)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论