1、单引号''和双引号""
两者都是解决变量中间有空格的问题。
在bash中“空格”是一种很特殊的字符,比如在bash中这样定义str=this is String,这样就会报错,为了避免出错就得使用单引号''和双引号""。
单引号'',双引号""的区别是单引号''剥夺了所有字符的特殊含义,单引号''内就变成了单纯的字符。双引号""则对于双引号""内的参数替换($)和命令替换(``)是个例外。
比如说 :
n=3
echo '$n'
echo "$n"
结果就是$3
改成双引号,结果就是3
2、反引号``
反引号``是命令替换,命令替换是指Shell可以先执行``中的命令,将输出结果暂时保存,在适当的地方输出。语法:`command`
DATE=`date`
echo "Date is $DATE"
COMMAND=`ls test.sh`
echo "Files are $COMMAND"
UP=`date ; uptime`
echo "Uptime is $UP"
====================================
Date is Sat May 16 14:57:40 2020
Files are test.sh
Uptime is Sat May 16 14:57:40 2020
14:57:40 up 5 days, 18:22, 0 users, load average: 0.00, 0.00, 0.00