> 文档中心 > 【Linux学习随笔】三、shell语法-变量

【Linux学习随笔】三、shell语法-变量

一、定义变量

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变量为只读变量,不能修改值了

【Linux学习随笔】三、shell语法-变量 新人创作打卡挑战赛 【Linux学习随笔】三、shell语法-变量 发博客就能抽奖!定制产品红包拿不停!Python学习手册