上篇我们已经介绍完变量的一些基本内容
本篇主要介绍反引,单引和双引,划重点:反引
1.将终端命令的返回值赋给变量
比如我们想把 pwd 命令(查看当前目录)的返回值赋给变量,有两种方式
1.1 使用反引`` ,反引号在左上角esc的下面,数字1的左边,输入法切换英文下
例:
A=`pwd`
1.2使用$()
例:
A=$(pwd)
这两种方式是一样的,下面我们来试试
还是在上篇讲的/usr/local/shell目录下,我们新建一个mark.sh,进入编辑
vi mark.sh
编辑文本
#!/bin/bash
A=`pwd`
#A=$(pwd)
echo $A
保存退出后,别忘记授权再执行
chmod +x ./mark.sh
./mark.sh
没有忘记上一篇的内容吧,第一句是给当前目录下的mark.sh授权可执行文件,第二句是执行该mark脚本
执行结果
我们将第二行注释,并把第三行的注释取消,再运行,结果会是一样的,我这里就不做演示了。
这里我特意在终端上打了一次pwd命令,以验证结果是一致的。
2.单引号和双引号
单引号内所有的内容都会原样输出,因此单引号内无法使用变量,而双引号内可以使用变量
编辑mark.sh
#!/bin/bash
A=`pwd`
#A=$(pwd)
#echo $A
echo '当前目录(单引号):$A'
echo "--------------我是分割线--------------"
echo "当前目录(双引号):$A"
第五行使用单引,第七行使用双引,保存运行后我们可以看到
使用单引的输出结果依然为$A,使用双引的结果成为了变量值。
如果我们非要使用单引的话,我们可以使用字符串拼接,再编辑mark.sh
#!/bin/bash
A=`pwd`
#A=$(pwd)
#echo $A
echo '当前目录(单引号):'$A'啊~'
echo "--------------我是分割线--------------"
echo "当前目录(双引号):"$A"啊~"
运行后,你会发现都成功的输出了变量值