Ubuntu Shell程式設計基礎入門

來源:互聯網
上載者:User
關鍵字 jpg 擴展 引號 防止 可以

我們可以使用任意一種HTTP://www.aliyun.com/zixun/aggregation/18452.html">文字編輯器,比如gedit、kedit、emacs、vi等來編寫shell腳本, 它必須以如下行開始(必須放在檔的第一行):

#!/bin/sh
...

注意:最好使用「!/bin/bash」而不是「!/bin/sh」,如果使用tc shell改為tcsh,其他類似。

符號#!用來告訴系統執行該腳本的程式,本例使用/bin/sh。 編輯結束並保存後,如果要執行該腳本,必須先使其可執行:

chmod +x filename

此後在該腳本所在目錄下,輸入 ./filename 即可執行該腳本。

引號

在向程式傳遞任何參數之前,程式會擴展萬用字元和變數。 這裡所謂的擴展是指程式會把萬用字元(比如*)替換成適當的檔案名,把變數替換成變數值。 我們可以使用引號來防止這種擴展,先來看一個例子,假設在目前的目錄下有兩個jpg檔:mail.jpg和tux.jpg。

#!/bin/sh

echo *.jpg

運行結果為:

mail.jpg tux.jpg

引號(單引號和雙引號)可以防止萬用字元*的擴展:

#!/bin/sh

echo "*.jpg"
echo '*.jpg'

其運行結果為:

*.jpg
*.jpg

其中單引號更嚴格一些,它可以防止任何變數擴展;而雙引號可以防止萬用字元擴展但允許變數擴展:

#!/bin/sh

echo $SHELL
echo "$SHELL"
echo '$SHELL'

運行結果為:

/bin/bash
/bin/bash
$SHELL

此外還有一種防止這種擴展的方法,即使用逸出字元——反斜杆:\:

echo \*.jpg
echo \$SHELL

輸出結果為:

*.jpg
$SHELL

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.