欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux shell中單引號(hào)、雙引號(hào)、反引號(hào)、反斜杠的區(qū)別

 更新時(shí)間:2013年01月23日 17:23:51   作者:  
shell可以識(shí)別4種不同類(lèi)型的引字符號(hào): 單引號(hào)字符' 雙引號(hào)字符" 反斜杠字符\ 反引號(hào)字符`的區(qū)別,學(xué)習(xí)shell編程的朋友可以看下
1. 單引號(hào) ( '' )

# grep Susan phonebook
Susan Goldberg 403-212-4921
Susan Topple 212-234-2343
如果我們想查找的是Susan Goldberg,不能直接使用grep Susan Goldberg phonebook命令,grep會(huì)把Goldberg和phonebook當(dāng)作需要搜索的文件
# grep 'Susan Gold' phonebook
Susan Goldberg 403-212-4921
當(dāng)shell碰到第一個(gè)單引號(hào)時(shí),它忽略掉其后直到右引號(hào)的所有特殊字符

2. 雙引號(hào) ( " " )

雙引號(hào)作用與單引號(hào)類(lèi)似,區(qū)別在于它沒(méi)有那么嚴(yán)格。單引號(hào)告訴shell忽略所有特殊字符,而雙引號(hào)只要求忽略大多數(shù),具體說(shuō),括在雙引號(hào)中的三種特殊字符不被忽略:$,\,` ,即雙引號(hào)會(huì)解釋字符串的特別意思,而單引號(hào)直接使用字符串.如果使用雙引號(hào)將字符串賦給變量并反饋它,實(shí)際上與直接反饋?zhàn)兞坎o(wú)差別。如果要查詢(xún)包含空格的字符串,經(jīng)常會(huì)用到雙引號(hào)。
# x=*
# echo $x
hello.sh menus.sh misc.sh phonebook tshift.sh
# echo '$x'
$x
# echo "$x"
*
這個(gè)例子可以看出無(wú)引號(hào)、單引號(hào)和雙引號(hào)之間的區(qū)別。在最后一種情況中,雙引號(hào)告訴shell在引號(hào)內(nèi)照樣進(jìn)行變量名替換,所以shell把$x替換為*,因?yàn)殡p引號(hào)中不做文件名替換,所以就把*作為要顯示的值傳遞給echo。 對(duì)于第一種情況需要進(jìn)一步說(shuō)明,shell在給變量賦值時(shí)不進(jìn)行文件名替換(這從第三種情況中也能看出來(lái)),各步驟發(fā)生的精確次序如下: shell掃描命令行,把x的值設(shè)為星號(hào)*;
shell再次掃描命令行,碰到星號(hào)*,把它替換成當(dāng)前目錄下的文件清單;
shell啟動(dòng)執(zhí)行echo命令,把文件清單作為參數(shù)傳遞給echo.
這個(gè)賦值的先后次序非常重要:shell先作變量替換,然后作文件名替換,最后把這行處理為參數(shù)

3. 反引號(hào)(``)

命令替換是指shell能夠?qū)⒁粋€(gè)命令的標(biāo)準(zhǔn)輸出插在一個(gè)命令行中任何位置。shell中有兩種方法作命令替換:把shell命令用反引號(hào)或者$(...)結(jié)構(gòu)括起來(lái),其中,$(...)格式受到POSIX標(biāo)準(zhǔn)支持,也利于嵌套。
# echo The date and time is `date`
The date and time is 三 6月 15 06:10:35 CST 2005
# echo Your current working directory is $(pwd)
Your current working directory is /home/howard/script

4. 反斜杠 backslash-escaped( \ )

反斜杠一般用作轉(zhuǎn)義字符,或稱(chēng)逃脫字符,linux如果echo要讓轉(zhuǎn)義字符發(fā)生作用,就要使用-e選項(xiàng),且轉(zhuǎn)義字符要使用雙引號(hào)

echo -e "\n"

反斜杠的另一種作用,就是當(dāng)反斜杠用于一行的最后一個(gè)字符時(shí),shell把行尾的反斜杠作為續(xù)行,這種結(jié)構(gòu)在分幾行輸入長(zhǎng)命令時(shí)經(jīng)常使用。

相關(guān)文章

  • ubuntu使用root用戶(hù)登錄/切換root權(quán)限的實(shí)現(xiàn)

    ubuntu使用root用戶(hù)登錄/切換root權(quán)限的實(shí)現(xiàn)

    下面小編就為大家?guī)?lái)一篇ubuntu使用root用戶(hù)登錄/切換root權(quán)限的實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • linux下使用perl獲取本機(jī)ip的幾種方法介紹

    linux下使用perl獲取本機(jī)ip的幾種方法介紹

    需要獲取本機(jī)ip有很多種情景,比如做分布式處理的時(shí)候。那么,如何在worker腳本里獲取本機(jī)ip?本文列舉了一系列的方法,有長(zhǎng)有短,各有優(yōu)劣,有shell有perl有python
    2013-02-02
  • shell編程時(shí)出現(xiàn):未預(yù)期的符號(hào)?`then'?附近有語(yǔ)法錯(cuò)誤?或者?:?行?:?`then'問(wèn)題

    shell編程時(shí)出現(xiàn):未預(yù)期的符號(hào)?`then'?附近有語(yǔ)法錯(cuò)誤?或者?:?行?:?`then&

    這篇文章主要介紹了shell編程時(shí)出現(xiàn):未預(yù)期的符號(hào)?`then'?附近有語(yǔ)法錯(cuò)誤?或者?:?行?:?`then'問(wèn)題,本文給大家介紹的非常詳細(xì),需要的朋友參考下
    2022-12-12
  • 處理Shell腳本中帶有空格的變量(bash腳本)

    處理Shell腳本中帶有空格的變量(bash腳本)

    這篇文章主要介紹了處理Shell腳本中帶有空格的變量,本文主要是通過(guò)bash腳本對(duì)于含空格文件處理方法,需要的朋友可以參考下
    2020-02-02
  • Shell腳本實(shí)戰(zhàn)之DNS主從同步腳本實(shí)例

    Shell腳本實(shí)戰(zhàn)之DNS主從同步腳本實(shí)例

    這篇文章主要介紹了Shell腳本實(shí)戰(zhàn)之DNS主從同步腳本實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Vim命令合集

    Vim命令合集

    這篇文章主要介紹了Vim命令合集的相關(guān)知識(shí),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-10-10
  • Linux中SELinux、Shell簡(jiǎn)介、touch命令的應(yīng)用小結(jié)

    Linux中SELinux、Shell簡(jiǎn)介、touch命令的應(yīng)用小結(jié)

    SELinux(Security-Enhanced Linux)是美國(guó)國(guó)家安全局(NSA)對(duì)于強(qiáng)制訪問(wèn)控制的實(shí)現(xiàn),是Linux歷史上最杰出的新安全子系統(tǒng),這篇文章主要介紹了Linux中SELinux、Shell簡(jiǎn)介、touch命令的應(yīng)用知識(shí)總結(jié),需要的朋友可以參考下
    2023-02-02
  • shell中的curl網(wǎng)絡(luò)請(qǐng)求的實(shí)現(xiàn)

    shell中的curl網(wǎng)絡(luò)請(qǐng)求的實(shí)現(xiàn)

    本文主要介紹了shell中的curl網(wǎng)絡(luò)請(qǐng)求的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • linux shell字符串內(nèi)置的常用操作(獲取長(zhǎng)度、查找、替換)

    linux shell字符串內(nèi)置的常用操作(獲取長(zhǎng)度、查找、替換)

    在編寫(xiě)shell程序時(shí),經(jīng)常會(huì)涉及到字符串相關(guān)操作。有許多命令語(yǔ)句,如awk,sed都能夠做字符串各種操作。 事實(shí)上shell內(nèi)置一系列操作符號(hào),能夠達(dá)到相似效果,使用內(nèi)部操作符會(huì)省略啟動(dòng)外部程序等時(shí)間,因此速度會(huì)很的快。如果內(nèi)置的操作符能夠做到的,優(yōu)先使用內(nèi)置的
    2015-12-12
  • shell 腳本中的 '-f' 和 '-d' 是什么意思

    shell 腳本中的 '-f' 和 '-d&apo

    本文講解如何使用'-f'和'-d'條件表達(dá)式來(lái)測(cè)試文件和目錄,在實(shí)際腳本中,這樣的條件判斷常用于根據(jù)不同的情況執(zhí)行不同的操作,感興趣的朋友跟隨小編一起看看吧
    2023-12-12

最新評(píng)論