大家好,又见面了,我是你们的朋友全栈君。
一、定义变量
shell语法中唯一的变量就是字符串,当然可以修改为局部变量或者为全局变量或其他形式
定义方法有三种
# 注意等号左边不能有多余空格,要不然会报错。结束语句不用打分号,跟python有点像,hh。
(1)任意字符串=’dududu’ #单引号定义字符串
(2)任意字符串=”dududu” #双引号定义字符串
(3)任意字符串=dududu #也可以不加引号
注意:单引号与双引号的区别是单引号中的内容在输出时会原样输出,相当于直接打印了。
至于不加引号的区别,读者可以自己试着玩一下。hh
双引号中的内容,解释器会取对应变量的值。这里可以用printf理解,当然shell语法中也有printf函数了。
二、使用变量
使用变量需要使用符号,可以理解为索引对应变量中储存的值,或者{任意变量}。花括号并不是一定要打的,但有时候为了让解释器识别变量边界就必须要打,比如name=asd sdds,如果直接输出name的话,那么输出结果是asd
举例:
name=dududu
echo $name #输出dududu
echo ${name} #输出dududu
echo ${name}tuoluxingdong #输出dududutuoluxingdong
# echo可以理解为输出
三、删除变量
unset 变量名
举例:
name=dududu
echo $name #输出dududu
unset name
echo $name #删除变量后再输出就会输出空行
四、补充细节
(1)局部变量与全局变量
①局部变量变为全局变量
举例:
name=dududu
export name #方法一,这样name变量就变成了全局变量
declare -x name #方法二,同样的效果,跟之前的改为可执行文件还蛮类似的,hh。
②全局变量变为局部变量
举例:
export name=dududu #设置该变量为全局变量
declare x name #改为局部变量 同①的方法二类似。hh。
(2)只读变量(可以理解为const,即不能修改该变量的值,只能输出
举例:
name=dududu
readonly name #方法一,比较好理解 就是英文意思只能读取
declare -r name #方法二,可以理解为去掉了name变量的修改权限
name=tuoluxingdong #会报错,因为name变量为只读变量,不能修改值了
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160467.html原文链接:https://javaforall.cn