shell变量
显示变量
$var 或 ${var}
例:
$ love=dengyi
$ echo $love ${love}
dengyi dengyi
设置变量
$ love=dengyi
变量的设置规则
- 变量与变量内容以一个等号"="来连接,如下所示
love=dengyi
- 等号两边不能直接接空格,如下所示为错误的
$ love =jianglei
-bash: love: 未找到命令
$ love= jianglei
-bash: jianglei: 未找到命令
- 变量名称只能是英文字母和数字,但是开头字符不能是数字,如下为错误的:
$ 1love=jianglei
变量内容如果有空格符可使用双引号
"
或单引号'
将变量结合起来,但是- 双引号内的特殊字符如$等,可以保有原本的特性。如
var="lang is $LANG"
,则echo $var
可得lang is en_US
- 单引号内的特殊字符则仅为一般字符(纯文本),如
var="lang is $LANG"
,则echo $var
可得lang is $LANG
- 双引号内的特殊字符如$等,可以保有原本的特性。如
在一串命令中,还需要通过其他的命令提供的信息,可以使用反单引号或
$(命令)
。
$ version=`uname -r`
$ echo $version
3.10.0-693.el7.x86_64
$ version=$(uname -r)
$ echo $version
3.10.0-693.el7.x86_64
- 若该变量为了增加变量时,则可用用下面的行式
$ a="a"
$ a="$a:b:c"
$ echo $a
a:b:c
- 若该变量需要在其他子进程执行,则需要export使变量成环境变量
export PATH
- 通常大写字符为系统默认变量自行设置变量可以使用小写字符,方便判断
- 取消变量的方法为使用"unset变量名称",例如取消myname的设置
unset myname$$