Shell编程中的引用和替换

来源:互联网 发布:知乎离职员工 编辑:程序博客网 时间:2024/06/06 02:59

通常对于弱类型的程序设计语言来说,变量的功能都比较单薄。但是对于Shell来说,变量的功能却非常强大。为了加强变量的功能,Shell对变量的使用方法进行了极大的扩展。本节将介绍其中的引用和替换。

引用

所谓引用,就是指将字符串用引号包括起来,以防止其中的特殊字符被Shell解释为其他含义。在Shell中,一共有4种引用符号,如下表所示,

引用符号 说明 双引号 除$、单引号、反引号和反斜线之外,其他的字符都保留字面意思 单引号 所有的字符都保留字面意思 反引号 反引号中的字符串将被解释为Shell命令 反斜线 转义字符,屏蔽后面字符的特殊意义

注意:双引号引用时, 除$、单引号、反引号和反斜线之外,其他的字符都保留字面意思.

全引用

在Shell语句里面,当一个字符串被单引号引用起来以后,其中所有的字符,除了单引号之外,都被解释为字面意识,也就是字符本身的含义。这意味着被单引号引用起来的所有字符都将被解释为普通的字符,因此,这种引用称为全引用。
演示使用全引用的用法,

#! /bin/bash#定义变量v1="xiaowang"#全引用输出含有变量名的字符串echo 'Hello , $v1'

该程序的执行结果如下,

Hello , $v1 

部分引用

如果用户使用双引号将字符串引用起来,则其中所包含的字符除美元符号(),(),线(\),,线"”符号,可以用来引用变量的值。
演示部分引用的用法,

#! /bin/bash#定义变量v1="xiaowang"#全引用输出含有变量名的字符串echo "Hello , $v1"

改程序的执行结果如下,

Hello , xiaowang 

命令替换

所谓命令替换,是指在Shell程序里面将某个Shell命令的执行结果赋值给某个变量。在bash中,有两种语法可以进行命令的替换,分别使用反引号和圆括号。

`Shell_command`$(Shell_command)

上面的语法是等价的,用户可以根据自己的习惯选择。
演示使用反引号的使用方法,

#! /bin/bash#变量替换v1=`pwd`# v1=$(pwd)#输出变量的数值echo "current working dir is $v1"

改程序的执行结果,

current working dir is /root

转义

转义的作用主要是转换某些特殊的字符的意义。当反斜线后面的一个字符具有特殊的意义时,反斜线将屏蔽该字符的特殊含义,使得Shell按照该字符的字面意义来解释。例如,下面的例子可以看到转义的作用

[root@VM_114_176_centos /]# echo $SHELL/bin/bash[root@VM_114_176_centos /]# echo \$SHELL$SHELL
1 0
原创粉丝点击