shell中单引号(’’)、双引号("")、反引号(``)的区别
脚本
#!/bin/bash
do_date=$1
echo '$do_date'
echo "$do_date"
echo "'$do_date'"
echo '"$do_date"'
echo `date`
echo ${date}
结果
[evil@hadoop102 bin]$ vim test.sh
[evil@hadoop102 bin]$ chmod 777 test.sh
[evil@hadoop102 bin]$ test.sh 2020-0202
$do_date
2020-0202
'2020-0202'
"$do_date"
2021年 07月 20日 星期二 13:10:14 CST
小结:
- 单引号(‘var’)不取变量值,不可以取出变量值,把变量看成字符串
- 双引号(“var”)取变量值,可以取出变量值
- 双引号内部嵌套单引号(" ‘var’ "),取出变量值
- 单引号内部嵌套双引号(’ “var” '),不取出变量值
- 反引号(``),执行引号中命令并返回结果
- ${var},取变量值
应用:
-
当需要将一个有空格的字符串看成整体,可以使用单引号或双引号;若字符串中应用了shell的变量,则只能使用双引号解析取出变量值。
-
执行一个命令并返回值赋给变量,使用 `` 或 $()
注:shell中使用 $ 符号来取一个变量的值,常见的就是$var 或者 ${var}