如果表达式中包含特殊字符,Shell 将会进行替换。例如,在双引号中使用变量就是一种替换,转义字符也是一种替换。
举个例子:

#!/bin/bash

a=10

echo -e "乾坤大挪移  $a \n"

运行结果:乾坤大挪移  10 

这里 -e 表示对转义字符进行替换。如果不使用 -e 选项,将会原样输出:乾坤大挪移  10 \n

下面的转义字符都可以用在 echo 中:

05.Shell乾坤大挪移_command

可以使用 echo 命令的 -E 选项禁止转义,默认也是不转义的;使用 -n 选项可以禁止插入换行符。


命令替换

命令替换是指Shell可以先执行命令,将输出结果暂时保存,在适当的地方输出。

命令替换的语法:

`command`

注意是反引号,不是单引号,这个键位于 Esc 键下方。

下面的例子中,将命令执行结果保存在变量中:

#!/bin/bash

DATE=`date`
echo "当前日期是: $DATE"

USERS=`who | wc -l`
echo "登陆用户有  $USERS"

UP=`date ; uptime`
echo "时间: $UP"


运行结果:

当前日期是: Mon Jun 27 00:28:39 PDT 2016
登陆用户有  2
时间: Mon Jun 27 00:28:39 PDT 2016
 00:28:39 up  5:29,  2 users,  load average: 0.00, 0.00, 0.00

变量替换

变量替换可以根据变量的状态(是否为空、是否定义等)来改变它的值

可以使用的变量替换形式:

05.Shell乾坤大挪移_command_02


一个例子:

05.Shell乾坤大挪移_command_03