【Linux学习随笔】三、shell语法-变量「建议收藏」

2022-09-13 09:50:00 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

一、定义变量

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

0 人点赞