linux shell中各种括号的区别

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章