shell編程-特殊變量

參考:https://www.cnblogs.com/zhuandshao/p/7193564.html

特殊變量($0、$1、$2、 $?、 $# 、$@、 $*)

shell編程中有一些特殊的變量可以使用。這些變量在腳本中可以作爲全局變量來使用。

名稱 說明
$0 腳本名稱
$1-9      腳本執行時的參數1到參數9
$? 腳本的返回值    
$# 腳本執行時,輸入的參數的個數
$@ 輸入的參數的具體內容(將輸入的參數作爲一個多個對象,即是所有參數的一個列表
$* 輸入的參數的具體內容(將輸入的參數作爲一個單詞)

$@與$*的區別:

  $@與$*都可以使用一個變量來來表示所有的參數內容,但這兩個變量之間有一些不同之處。

  $@:將輸入的參數作爲一個列表對象

  $*:將輸入的參數作爲一個單詞

 

 

單引號:

  可以說是所見即所得:即將單引號內的內容原樣輸出,或者描述爲單引號裏面看見的是什麼就會輸出什麼。

 

雙引號:

  把雙引號內的內容輸出出來;如果內容中有命令,變量等,會先把變量,命令解析出結果,然後在輸出最終內容來。

  雙引號內命令或變量的寫法爲`命令或變量`或$(命令或變量)。

 

無引號:

  把內容輸出出來,可能不會講含有空格的字符串視爲一個整體輸出;

  如果內容中有命令、變量等,會先把變量、命令解析結果,然後在輸出最終內容來;

  如果字符串中帶有空格等特殊字符,則不能完整的輸出,需要改加雙引號,一般連續的字符串,數字,路徑等可以用,不過最好用雙引號替代之

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章