區別只有一點:
表示程序的運行結果不同。
exit(0):正常運行程序並退出程序;
exit(1):非正常運行導致退出程序;
在 shell 中調用完程序之后,用 echo $? 命令就可以看到程序的 exit 值。在 shell 腳本中,通常會根據上一個命令的 $? 值來進行一些流程控制。
特殊變量($0、$1、$2、 $?、 $# 、$@、 $*)
shell編程中有一些特殊的變量可以使用。這些變量在腳本中可以作為全局變量來使用。
名稱 | 說明 |
$0 | 腳本名稱 |
$1-9 | 腳本執行時的參數1到參數9 |
$? | 腳本的返回值 |
$# | 腳本執行時,輸入的參數的個數 |
$@ | 輸入的參數的具體內容(將輸入的參數作為一個多個對象,即是所有參數的一個列表) |
$* | 輸入的參數的具體內容(將輸入的參數作為一個單詞) |
$@與$*的區別:
$@與$*都可以使用一個變量來來表示所有的參數內容,但這兩個變量之間有一些不同之處。
$@:將輸入的參數作為一個列表對象
$*:將輸入的參數作為一個單詞