您的位置:首页 > 运维架构 > Shell

shell基础知识(2)

2013-01-02 00:00 141 查看
1.3变量和引用

变量名在赋值的时候没有标注,但是在访问他们的值得时候要在变量名之前加一个$符号。比如:

$etcdir='/etc'

$echo $etcdir

/etc

不要在等号两边留空白,否则shell会把变量名误认为是命令名。

在引用一个变量的时候,可以用花括号把这个变量的名字括起来,增加代码的可读性知道变了名的起至位置,例如:${etcdir}代替$etcdir
通常不会要求要这对花括号,但是如果想要在双引号引起来的字符串里扩展变量,它们就会派上用处了,因为一般我们想要在一个变量的内容之后跟着字母或者标点符号,例如:

$echo "save ${rev}th version of mdadm.conf."

save 8th veusion of mdadm.conf.

对于shell变量名虽然没有特定的命名规则,但是一般环境变量名或者全局配置文件里读取的变量一般用大写字母,本地变量则一般用小写字母,而且变量名的各个之间用下划线隔开,变量名区别大小写,

环境变量会自动被倒入bash的变量名空间,所以他们可以用标准的语法来读取和设置。命令 export
将一个shell变量提升为一个环境变量,用来在用户登录时设置环境变量的那些个命令都应该放在用户的
~/.profile或者~/.bash_profile这两个文件里面,而像其他pwd这样的环境变量则都由shell自动维护。

对于单引号和双引号括起来的字符串而言,shell以相似的方式处理他们,不同之处在于双引号括起来的便利可以进行替代(用*和?这样的文件名匹配元字符做扩展)和变量扩展。例如:

$mylang="xiaoshen"

$echo "my name is ${mylang}"

my name is xiaoshen.

$echo 'my name is ${mylang}'

my name ${mylang}

1.4常见的过滤命令

未完结待续。。。。。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: