shell脚本中的数据以及shell环境的设置都将被放在shell变量中,所以要通过创建shell变量或修改变量中的值来设定shell。在UNIX或Linux系统中通常习惯用大写的字母作为shell变量名。创建shell局部变量的方法是在操作系统提示符下输入:
变量名=变量的值
如DOG1_COLOR=black,其中DOG1_COLOR为shell变量名,而black为shell变量的值。如果要提取shell变量中的值在变量之前冠以$符号,如在系统提示符下输入:
Echo $DOG1_COLOR
接下来,可以使用下例的命令创建一个名为DOG1_COLOR的Bash Shell 局部变量并将black赋予这个变量:
goddog@ubuntu:~/example$ DOG1_COLOR=black
使用set命令检验以上命令是否正确执行:
goddog@ubuntu:~/example$ set | more
……
DOG1_COLOR=black
……
结果表明已成功创建一个名为DOG1_COLOR的Bash Shell 局部变量,这个变量的值是black。也可以使用echo命令来直接显示Bash Shell 变量DOG1_COLOR中的值:
goddog@ubuntu:~/example$ echo $DOG1_COLOR
black
为了演示需要,使用下例命令创建一个名为DOG2_COLOR的Bash Shell 局部变量,并将grey赋予该变量:
goddog@ubuntu:~/example$ DOG2_COLOR=grey
如果创建了许多以DOG开始的shell变量,现在要把它们一一列出来,可以使用下例的组合命令:
goddog@ubuntu:~/example$ set | grep DOG
DOG1_COLOR=black
DOG2_COLOR=grey
实际上Linux系统预定义了许多Bash Shell 变量,以下是几个预定义Shell 变量的例子:COLUMNS: 设置终端窗口的宽度
LINES: 设置终端窗口的高度
HISTFILESIZE: 决定将多少条命令在用户退出系统时存入历史文件
一般没有特殊需要,用户没有必要修改这些系统预定义的shell变量。可以使用set命令获取他们的预设值。
区分局部变量和环境变量
敲黑板:在set命令的显示结果中出现了但是在env命令的显示结果中没有的一定是局部变量。
goddog@ubuntu:~/example$ set | grep LINES
LINES=24
goddog@ubuntu:~/example$ env | grep LINES
可以判定LINES是一个局部变量。
今天就分享这么多了,谢谢欣赏!^_^