变量的显示与设置
显示
- echo
echo $变量(variable)
实例:
echo $PATH
//↓↓显示HOME与MAIL
echo $HOME 或者是 echo ${HOME}
echo $MAIL 或者是 echo ${MAIL}
变量的设置规则
- 变量与变量的内容以一个等号“=”来连接
myname=VBird
- 等号两遍不能直接接空格符,错误如下
myname=VBird Tsai
- 变量名只能是英文字母与数字,开头只能是英文字母,不能为:
2myname=VBird
- 变量内容若有空格符,可使用双引号
“”
或者单引号‘’
括起来,但是
双引号内的特殊字符如$
等,可以保留原本的特性,例如:
var="lang is $VBird" //echo $var 可以得到 lang if en_US
单引号内的特殊字符则为纯文本的一般字符,例如:
ar='lang is $LANG'
//echo $var 可以得到 lang is $LANG
- 可用用转义字符
将特殊符号(如:$,,空格符,!等)变成一半字符。
- 在一串命令中,还需要通过其他的命令提供的信息,可以使用反单引号括起来,特别注意的是:那个是键盘上方的数字键1左边的那个见,而不是单引号。例如想要取得内核版本的设置:
version=$(uanme -r)
//在echo $version 可得到 2.6.32-696.3.2.el6.x86_64
- 若变量为了增加变量内容时,则可用
$变量名称
或${变量}
累加内容,如下所示:
PATH="$PATH":/home/bin
- 若该变量需要在其他子程序运行,则需要以export来使变量变成环境变量:
export PATH
- 通常大写字符为系统默认变量,自行设置变量可以使用小写字符,方便判断(纯粹依照用户兴趣爱好)。
- 取消变量的方法为使用
unset 变量名称
,例如取消myname的设置:
unset myname
在这里普及一下子程序
- 什么是子程序呢?
就是说在我目前这个shell的情况下,去打开另一个新的shell,新的shell就是子程序。在一般状态下,父进程的定义变量是无法再子程序里面使用的。但是通过export将变量变成环境变量后,就能够在子进程下面应用了。