国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

Shell編程 Bash引號的那點事

2019-10-26 18:44:48
字體:
供稿:網(wǎng)友

先了解下,在bash腳本中,有三種引號

1. 單引號 '
2. 雙引號 "
3. 反引號 `

單引號
        兩個單引號包圍起來的字符串就是普通的字符串,它將保留原始的字面意思.
雙引號
        兩個雙引號包圍起來的字符串,部分特殊字符將起到它們的作用.
        這些特殊字符有: 美元符$, 反斜杠/, 反引號,  感嘆號!.
反引號
        兩個反引號包圍起來的字符串,將作為命令來運行,
        執(zhí)行的輸出結(jié)果作為該反引號的內(nèi)容,稱為命令替換,
        它有另一種更好的寫法: $(command)
我們來看幾個例子,更直接的了解這三種引號的特性.

1. 美元符$在單、雙引號中的表現(xiàn): 在雙引號中的$, 將發(fā)生變量引用, 而在單引號中的$, 將保留它的字面意思

代碼如下:
igi@gentoo ~ $ echo '$HOME'
$HOME
igi@gentoo ~ $ echo "$HOME"
/home/igi

注: HOME為內(nèi)部變量

2. 反斜杠/ 在單、雙引號中的表現(xiàn): 在雙引號中的/, 將轉(zhuǎn)義它后面的字符,使其具有特殊意義或者失去原來的特殊意義, 在單引號中的/, 將保留它的字面意思

代碼如下:
igi@gentoo ~ $ echo '/$HOME'
/$HOME
igi@gentoo ~ $ echo "/$HOME"
$HOME

注: 雙引號中的/,后面跟著$, 這里發(fā)生了轉(zhuǎn)義,使得$失去特殊意義, 變成普通字符.

3. 反引號與其他兩種引號的不同: 反引號包圍起來的字符串將被運行,取其結(jié)果

代碼如下:
igi@gentoo ~ $ echo 'date'
date
igi@gentoo ~ $ echo "date"
date
igi@gentoo ~ $ echo `date`
Fri Dec 3 18:34:09 CST 2010

注: 在反引號中的date被當成命令執(zhí)行,包含的正是命令的輸出信息

了解了他們的不同,我們來聊一聊常見的問題

1. 把反引號` 寫 成單引號'

不得不說,它們長得確實很像,個別書的印刷字體區(qū)別度不高或者印刷質(zhì)量不過關(guān), 導(dǎo)致了很多新手認錯,常把反引號`寫成單引號'。如果你不知道反引號在哪,請看看Esc鍵下面的那個按鍵, 那個就是反引號。當然也不排除有些人看書不注意,這也是常有的事。只要我們明白了反引號與單引號作用的區(qū)別,什么時候要用單引號,什么時候要用反引號就一 清二楚了。當你需要一個字符串時,使用單引號; 而當你需要捕捉命令的輸出時,請用反引號。

2. 總是忘了加雙引號
雙引號不總是多余的,被它包圍的數(shù)據(jù)變得很安全,不至于被bash切開對待。

代碼如下:
igi@gentoo ~ $ seq 3
1
2
3
igi@gentoo ~ $ echo `seq 3`

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 洛南县| 中方县| 禄劝| 千阳县| 重庆市| 茌平县| 调兵山市| 晋州市| 乳山市| 桐庐县| 彰化市| 宣化县| 松溪县| 梁河县| 和硕县| 阿巴嘎旗| 手游| 延长县| 明星| 建始县| 农安县| 阜城县| 淮安市| 英吉沙县| 鸡东县| 九龙县| 禄丰县| 肥东县| 阳春市| 靖宇县| 镇赉县| 德惠市| 屯门区| 德江县| 耿马| 临海市| 华蓥市| 嫩江县| 安乡县| 新建县| 连城县|