shell中各種引號的用法

來源:互聯網
上載者:User

轉至:http://goward.jimdo.com/2010/06/15/linux-shell%E5%90%84%E7%A7%8D%E5%BC%95%E5%8F%B7%E7%9A%84%E7%94%A8%E6%B3%95/

這些字元之間的區別在於它們如何影響變數(如$NAME)和Shell命令(如date)。對於任何一對引號,shell都會把引號內的內容發送給命令。在下面的執行個體中使用echo命令。詳細地講,它們的區別如下:

單引號(single quote) Shell不會處理任何變數或命令

雙引號(double quote)Shell會處理變數,如$NAME,但不會處理任何命令。

反引號(back quote)Shell嘗試把引號中的每個單詞作為命令處理。如果有變數,首先會對它們進行求值,然後將其作為命令處理。因此,如果$NAME在反引號中就會處理它,然後把結果作為命令處理。

 

可以在以下命令中查看它是如何工作的。假定NAME=Jame。記住date是一個命令,返回當前日期和時間。第一個命令沒有引號。shell會解釋$NAME變數,但不會運行date命令。

$echo Welcome $NAME,the date is date

Welcome Jame,the date is date

下一個命令用單引號封閉輸入。這將阻止shell解釋如何變數或命令。

$echo 'Welcome $NAME,the date is date'

Welcome $NAME,the date is date

以下命令用雙引號封閉輸入。結果類似於不帶引號的輸出。

$echo "Welcome $NAME,the date is date"

Welcome Jame,the date is date

最後一個命令包含用於命令的反引號。shell會解釋該命令。

$echo "Welcome $NAME,the date is `date`"

Welcome Jame,the date is Tus June 15 10:43:37 EST 2010

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.