最后運(yùn)行的命令的結(jié)束代碼(返回值)即執(zhí)行上一個(gè)指令的返回值 (顯示最后命令的退出狀態(tài)。0表示沒有錯(cuò)誤,其他任何值表明有錯(cuò)誤) $? 是一個(gè)特殊變量,用來獲取上一個(gè)命令的退出狀態(tài),或者上一個(gè)函數(shù)的返回值。 1) $? 獲取上一個(gè)命令的退出狀態(tài)編寫下面的代碼,并保存為 test.sh: #!/bin/bashif [ "$1" == 100 ]thenexit 0 #參數(shù)正確,退出狀態(tài)為0elseexit 1 #參數(shù)錯(cuò)誤,退出狀態(tài)1fi
[mozhiyan@localhost ~]$ cd demo [mozhiyan@localhost demo]$ bash ./test.sh 100 #作為一個(gè)新進(jìn)程運(yùn)行 [mozhiyan@localhost demo]$ echo $? 0
[mozhiyan@localhost demo]$ bash ./test.sh 89 #作為一個(gè)新進(jìn)程運(yùn)行 [mozhiyan@localhost demo]$ echo $? 1 2) $? 獲取函數(shù)的返回值編寫下面的代碼,并保存為 test.sh: #!/bin/bash#得到兩個(gè)數(shù)相加的和function add(){return `expr $1 + $2`}add 23 50 #調(diào)用函數(shù)echo $? #獲取函數(shù)返回值 運(yùn)行結(jié)果: |
|