归纳总结了鸟哥的Linux私房菜10.2.2小节的内容。
10.2.2 变量的使用与设置
- 变量的使用:
$变量名
对于一个变量,如果要获取它所存的值,需要在这个变量前加上美元符($)。这里推荐使用${变量名}
的写法。
- 变量内容的查看:
echo
#echo为打印命令
echo ${var} #打印$var的内容,默认输出到终端上
- 变量的默认值
Linux下的变量不需要定义,对于未定义的变量,如果直接读取其值,则值默认为空。
-
变量设置规则
-
赋值规则:使用
=
赋值,=
两侧不能有空格。例如:name="Tom"
。 -
命名规则:变量名只能是英文字母与数字的组合,且开头字符不能为数字。
-
要赋值的内容中有空格,则需要将内容用
""
(双引号)或''
(单引号)括起来。- 双引号中的内容,允许特殊字符的功能生效。例如:
#当前登录用户为user echo "$USERNAME,hello!" #双引号中$能够生效,提取变量中的内容。$USERNAME为当前登录用户的用户名。 #结果为: user,hello!
- 单引号中的内容是纯字符,特殊字符的功能不能生效。例如:
#当前登录用户为user echo '$USERNAME,hello!' #单引号中为纯字符,特殊符号不生效。 #结果为: $USERNAME,hello!
-
通常大写变量名为系统默认变量。
-
-
取消变量
unset 变量名
可以取消变量。取消后,下次直接读取,则变量为空。
-
变量的基本使用技巧
- 向变量已有内容附加字符串
#定义一个变量,且赋值 name=Tom #将Jerry附加到变量name已有内容之后 name=${name}Jerry #如果name变量中有空格分隔符 #,则需要将${name}左右两侧加上",即"${name}"Jerry #验证结果 echo $name #输出结果为TomJerry
- 用变量接收命令结果
#使用变量接收命令结果 #假定当前目录环境为/root cmdResult=$(pwd) #如果命令运行结果也有空格分隔符,需要用双引号括上$(pwd)即"$(pwd)" echo $cmdResult #打印当前目录 #结果为/root
- 将变量变为
环境变量
name=Tom export name #将name变量设置为环境变量,使得其可在子进程中被使用
变量名为系统默认变量。
- 取消变量
unset 变量名
可以取消变量。取消后,下次直接读取,则变量为空。
-
变量的基本使用技巧
- 向变量已有内容附加字符串
#定义一个变量,且赋值 name=Tom #将Jerry附加到变量name已有内容之后 name=${name}Jerry #如果name变量中有空格分隔符 #,则需要将${name}左右两侧加上",即"${name}"Jerry #验证结果 echo $name #输出结果为TomJerry
- 用变量接收命令结果
#使用变量接收命令结果 #假定当前目录环境为/root cmdResult=$(pwd) #如果命令运行结果也有空格分隔符,需要用双引号括上$(pwd)即"$(pwd)" echo $cmdResult #打印当前目录 #结果为/root
- 将变量变为
环境变量
name=Tom export name #将name变量设置为环境变量,使得其可在子进程中被使用
参考资料
[1] 鸟哥的Linux私房菜基础学习篇(第四版)