日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell脚本执行返回的状态码

發(fā)布時間:2024/4/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell脚本执行返回的状态码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

http://www.cnblogs.com/MyEyes/archive/2012/01/12/2320529.html

Linux下一條命令或一個進程執(zhí)行完成會返回一個一個狀態(tài)碼。

0 ? === ? 成功執(zhí)行

非0 === ?執(zhí)行過程中出現(xiàn)異常或非正常退出

在Shell腳本中 最后執(zhí)行的一條命令將決定整個shell腳本的狀態(tài). 此外 shell的內(nèi)部命令exit也可以隨時終止shell腳本的執(zhí)行,返回Shell腳本的狀態(tài)碼

當(dāng)shell腳本執(zhí)行結(jié)束前 的最后一個命令是不帶參數(shù)的exit ,那么 shell腳本的最終返回值 就是 exit 語句前一條語句的返回值,根據(jù)這個值可以判斷腳本成功執(zhí)行與否。

?$? 可以查看 最后一條命令的返回值 該變量可以在shell 腳本中的任何地方使用.

#! /bin/bash echo "please input the branch you want to compare" read $MY_BRANCH for i in $(cat list) dogit-diff --quiet $MY_BRANCH $i [--quiet 選項的意思是不要輸出比較后各個diff出來的結(jié)果]if [ $? -eq 0 ] [$? 就是上一條命令執(zhí)行的狀態(tài)碼]then echo $ifi done

?

http://feng.blog.rritw.com/get_exist_status_and_return_value_in_shell.html

?

在Linux Shell中獲取被調(diào)用函數(shù)的退出狀態(tài)和返回值

不管是在執(zhí)行什么樣語言編寫的程序,都需要獲得其被調(diào)用函數(shù)或程序的退出狀態(tài)或(及)返回值,以便于我們好根據(jù)退出狀態(tài)或(及)返回值判斷當(dāng)前被調(diào)用的函數(shù)或程序的執(zhí)行結(jié)果是否成功等,然后好做進一步的處理,如提示用戶出錯了,還是繼續(xù)執(zhí)行等。
這里先就退出狀態(tài)和返回值做一下名詞解釋:
退出狀態(tài):執(zhí)行某一函數(shù)或者程序之后通過變量”#?”獲得的值;
返回值:運行某一函數(shù)(或程序)時該函數(shù)(或程序)運行過程中所有的輸出。
在執(zhí)行完有返回值的函數(shù)時,該返回值就是當(dāng)前函數(shù)的退出狀態(tài)值,在這種情況下,可以認(rèn)為兩者是相同的。
如下示例:

#!/bin/bash echo "hello" echo $? #查看echo "hello"的退出狀態(tài)

“$?”只是表示其緊接著的上一行命令的執(zhí)行結(jié)果,它的值是時刻改變的,如果不立即對獲取的返回結(jié)果進行處理,可以將”$?”賦值給一個變量,以便后面使用,看以下示例:

#!/bin/bash echo "hello"; helloResult=$?; echo "baby"; babyResult=$?; echo $helloResult echo $babyResult

退出狀態(tài)一般是用來恒量某個函數(shù)或程序是否是正常退出。按照約定,返回”0″表示程序正常退出。返回”非0″表示程序非正常退出。被調(diào)用的函數(shù)可以是沒有返回值的,如果是正常的執(zhí)行完所有的語句,此時也會認(rèn)為程序是正常完成,退出狀態(tài)也會是”0″。
如果被調(diào)用的函數(shù)或程序有使用”return”返回值,那么”retrun”返回的結(jié)果就被認(rèn)為是程序的退出狀態(tài)了,如下示例:

#!/bin/bash function hello(){echo "Hello ";echo "Baby";return -1 } hello echo $?

輸出如下:

$ ./t4.sh Hello Baby 255

?

總結(jié)

以上是生活随笔為你收集整理的shell脚本执行返回的状态码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。