- 变量与变量内容以等号『=』来连结;
- 等号两边不能直接接空格符;
- 变量名称只能是英文字母与数字,但是数字不能是开头字符;
- 若有空格符可以使用双引号『 " 』或单引号『 ' 』来将变量内容结合起来,但须要特别留意,双引号内的特殊字符可以保有变量特性,但是单引号内的特殊字符则仅为一般字符;
- 必要时需要以跳脱字符『 \ 』来将特殊符号(如Enter,$, \, 空格符, '等)变成一般符号;
- 在一串指令中,还需要藉由其他的指令提供的信息,可以使用quote 『 ` command`』;(特别特别注意,那个 ` 是数字键 1 左边那个按键,而不是单引号!)
- 若该变量为扩增变量内容时,则需以双引号及 $变量名称如:『 "$PATH":/home』继续累加内容;
- 若该变量需要在其他子程序执行,则需要以 export 来使变量可以动作,如『exportPATH』;
- 通常大写字符为系统默认变量,自行设定变量可以使用小写字符,方便判断(纯粹依照使用者兴趣与嗜好);
- 取消变量的方法为:『unset变量名称』。
底下我们举几个例子来说明一下:一般变量设定:
[tets @testtest]# 12name=VBrid <==错误的!因为变量开头不能是数字!
[test @testtest]# name = VBird <==错误的!因为等号两边不能直接接空白!
[test @testtest]# name=VBird <==正确的!echo $name 显示 VBird
[test @testtest]# name=VBird name <==错误的!需要加上双引号!不然会显示错误!
[test @testtest]# name="VBird name" <==正确的!echo $name 显示 VBird name
[test @testtest]# name="VBird's name" <==正确的!
变量累加设定:
[test @testtest]# name=$nameisme <==错误的!需要以双引号将原变量圈起来
[test @testtest]# name="$name"isme <==正确的!echo $name 显示 VBird's nameisme
[test @testtest]# PATH="$PATH":/home/test <==正确的!echo $PATH 将多了后面一句话!
[test @testtest]# PATH="$PATH:/home/test" <==正确的!这个形式对于 PATH 来说也是正确的格式!
变量延伸到下一个子程序:
[test @testtest]# name="VBird's name" <==设定 name 这个变量
[test @tsettest]# echo $name <==显示 name 变量的指令
[test @testtest]# VBird's name
[test @testtest]# /bin/bash <==另开一个 bash 的子程序
[test @tsettest]# echo $name <==显示 name 这个变量
[test @tsettest]# <==会显示空字符串因为 name 这个变量不能使用在子程序
[test @testtest]# exit <==退出子程序 bash shell !
[test @testtest]# export name <==正确的!如此则 $name 可以用于下一个子程序中!
指令中的指令:
[test @testtest]# cd /lib/modules/`uname –r`/kernel
上式中,会先执行`uname –r` 这个内含指令,然后输出的结果附加在 /lib/module… 里面,所以执行这个指令,可以完成几个附指令程序!
取消变量设定:
[test @testtest]# unset name