'':
- 单引号是不能识别变量,只会原样输出,单引号是不能转义的
"":
- 双引号能够识别变量,双引号能够实现转义(类似于“
\
”)
网上查了一些bash的单引号'',双引号""和反引号``的区别。
两者都是解决变量中间有空格的问题。
在bash中“空格”是一种很特殊的字符,比如在bash中这样定义str=this is String,这样就会报错,为了避免出错就得使用单引号''和双引号""。
单引号'',双引号""的区别是单引号''剥夺了所有字符的特殊含义,单引号''内就变成了单纯的字符。双引号""则对于双引号""内的参数替换($)和命令替换(``)是个例外。
比如说 str="hello" echo '$str'
结果就是$str
改成双引号 echo "$str",结果就是hello
``:反引号(esc
键下方的那个键),当在脚本中需要执行一些指令并且将执行的结果赋给变量的时候需要使用“反引号
”。
例如:
#!/bin/bash
# Author: smile.
#Date & Time: 2021-08-04 16:30:27
#Description: output time.
str=`date +'%Y%m%d'`
echo $str
结果:20210804
参考:https://cloud.tencent.com/developer/article/1834694?from=article.detail.1071864