單引號 雙引號「」反向單引號 的區別

2022-06-28 10:12:08 字數 1344 閱讀 3697

[21:23:26 root@c8-3-55 ~]#echo 'echo $lang'

echo $lang

[21:37:14 root@c8-3-55 ~]#echo "echo $lang"

echo zh_cn.utf8

[21:40:47 root@c8-3-55 ~]#echo `echo $lang` ## 單引號內echo和$分別被識別成命令和變數

zh_cn.utf8

[21:41:01 root@c8-3-55 ~]#echo `echo `echo $lang`` ## 巢狀中最內層echo 被識別為命令,但外層echo沒有被識別

echo zh_cn.utf8

[21:41:34 root@c8-3-55 ~]#echo `echo "echo $lang"` ## 內層巢狀雙引號,外層echo 沒有被識別

echo zh_cn.utf8

[21:41:45 root@c8-3-55 ~]#echo `echo 'echo $lang'` ## 內層巢狀單引號,外層echo沒有被識別

echo $lang

[21:41:57 root@c8-3-55 ~]#echo `echo $(echo $lang)` ## 內層巢狀了$()後,外層echo被識別成命令

zh_cn.utf8

放在反向單引號內的一定是命令,否則會報錯

[21:42:12 root@c8-3-55 ~]#echo $(echo 'echo $lang')

echo $lang

[21:42:41 root@c8-3-55 ~]#echo $(echo "echo $lang")

echo zh_cn.utf8

[21:43:06 root@c8-3-55 ~]#echo $(echo `echo $lang`)

zh_cn.utf8

[21:43:18 root@c8-3-55 ~]#echo $(echo $(echo $lang))

zh_cn.utf8

不管內層巢狀的是什麼,$()外層的echo都會被識別。

[21:43:36 root@c8-3-55 ~]#echo `root`

-bash: root: 未找到命令

[21:54:29 root@c8-3-55 ~]#echo `print root`

-bash: print: 未找到命令

[21:54:36 root@c8-3-55 ~]#echo $(root)

-bash: root: 未找到命令

單引號,雙引號,無引號

單引號 所見即所得 雙引號 1 把雙引號的所有內容都輸出出來 2 如果中命令 要反引下 變數 特殊轉義符等,會先把變數 命令 特殊轉義符解析出結果再輸出最終內容。無引號 與雙引號基本相同,連續數字不用加任何引號 建議 指令碼中普通字串盡量雙引號,單純數字可以不用加引號 a 192 a 192 a b...

mysql中反單引號 單引號 雙引號的區別

反引號,一般在esc鍵的下方。它是為了區分mysql的保留字與普通字元而引入的符號。舉個例子 select select from test where select 字段值 在test表中,有個select欄位,如果不用反引號,mysql將把select視為保留字而導致出錯,所以,有mysql保留...

Python 雙引號 單引號 多引號區別

先說1雙引號與3個雙引號的區別,雙引號所表示的字串通常要寫成一行 如 s1 hello,world 如果要寫成多行,那麼就要使用 連行符 吧,如 s2 hello,world s2與s1是一樣的。如果你用3個雙引號的話,就可以直接寫了,如下 s3 hello,world,hahaha.那麼s3實際上...