最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell $?獲取函數(shù)返回值或者上一個(gè)命令的退出狀態(tài)

 更新時(shí)間:2021年01月12日 10:42:55   作者:C語言中文網(wǎng)  
這篇文章主要介紹了Shell $?獲取函數(shù)返回值或者上一個(gè)命令的退出狀態(tài),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

$? 是一個(gè)特殊變量,用來獲取上一個(gè)命令的退出狀態(tài),或者上一個(gè)函數(shù)的返回值。

所謂退出狀態(tài),就是上一個(gè)命令執(zhí)行后的返回結(jié)果。退出狀態(tài)是一個(gè)數(shù)字,一般情況下,大部分命令執(zhí)行成功會(huì)返回 0,失敗返回 1,這和C語言的 main() 函數(shù)是類似的。

不過,也有一些命令返回其他值,表示不同類型的錯(cuò)誤。

1) $? 獲取上一個(gè)命令的退出狀態(tài)

編寫下面的代碼,并保存為 test.sh:

#!/bin/bash
if [ "$1" == 100 ]
then
  exit 0 #參數(shù)正確,退出狀態(tài)為0
else
  exit 1 #參數(shù)錯(cuò)誤,退出狀態(tài)1
fi

exit表示退出當(dāng)前 Shell 進(jìn)程,我們必須在新進(jìn)程中運(yùn)行 test.sh,否則當(dāng)前 Shell 會(huì)話(終端窗口)會(huì)被關(guān)閉,我們就無法取得它的退出狀態(tài)了。

例如,運(yùn)行 test.sh 時(shí)傳遞參數(shù) 100:

[mozhiyan@localhost ~]$ cd demo
[mozhiyan@localhost demo]$ bash ./test.sh 100 #作為一個(gè)新進(jìn)程運(yùn)行
[mozhiyan@localhost demo]$ echo $?
0

再如,運(yùn)行 test.sh 時(shí)傳遞參數(shù) 89:

[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é)果:
73

有 C++、C#、Java 等編程經(jīng)驗(yàn)的讀者請注意:嚴(yán)格來說,Shell 函數(shù)中的 return 關(guān)鍵字用來表示函數(shù)的退出狀態(tài),而不是函數(shù)的返回值;Shell 不像其它編程語言,沒有專門處理返回值的關(guān)鍵字。

到此這篇關(guān)于Shell $?獲取函數(shù)返回值或者上一個(gè)命令的退出狀態(tài)的文章就介紹到這了,更多相關(guān)Shell $? 函數(shù)返回值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • shell實(shí)現(xiàn)Fisher–Yates shuffle洗牌算法介紹

    shell實(shí)現(xiàn)Fisher–Yates shuffle洗牌算法介紹

    大家好,本篇文章主要講的是shell實(shí)現(xiàn)Fisher–Yates shuffle洗牌算法介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下哦
    2021-11-11
  • Shell中的數(shù)學(xué)運(yùn)算使用

    Shell中的數(shù)學(xué)運(yùn)算使用

    這篇文章主要介紹了Shell中的數(shù)學(xué)運(yùn)算使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Shell腳本實(shí)現(xiàn)的猜數(shù)字小游戲

    Shell腳本實(shí)現(xiàn)的猜數(shù)字小游戲

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)的猜數(shù)字小游戲,本文的猜數(shù)字規(guī)則相對一般規(guī)則的猜數(shù)字可能難度要大不少,需要的朋友可以參考下
    2014-12-12
  • 積累linux常用命令大全

    積累linux常用命令大全

    Linux命令是對Linux系統(tǒng)進(jìn)行管理的命令。對于Linux系統(tǒng)來說,無論是中央處理器、內(nèi)存、驅(qū)動(dòng)、鍵盤、鼠標(biāo),還是用戶等都是文件,Linux命令是它正常運(yùn)行的核心,這篇文章主要總結(jié)了linux常用命令,需要的朋友可以參考下
    2015-08-08
  • Linux中的grep?-v、-e、-E用法小結(jié)

    Linux中的grep?-v、-e、-E用法小結(jié)

    grep是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹配的行打印出來,這篇文章主要介紹了Linux之grep?-v、-e、-E用法總結(jié),需要的朋友可以參考下
    2022-11-11
  • linux 開機(jī)自啟動(dòng)redis服務(wù)的方法

    linux 開機(jī)自啟動(dòng)redis服務(wù)的方法

    這篇文章主要介紹了linux 開機(jī)自啟動(dòng)redis服務(wù)的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 如何使用 Shell 腳本執(zhí)行 .NET Core 應(yīng)用

    如何使用 Shell 腳本執(zhí)行 .NET Core 應(yīng)用

    這篇文章主要介紹了如何使用 Shell 腳本執(zhí)行 .NET Core 應(yīng)用,幫助大家更好的理解和使用shell 腳本,感興趣的朋友可以了解下
    2020-09-09
  • Shell腳本實(shí)現(xiàn)批量替換文件內(nèi)容

    Shell腳本實(shí)現(xiàn)批量替換文件內(nèi)容

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)批量替換文件內(nèi)容,本文主要實(shí)現(xiàn)批量修改一個(gè)備份腳本里的備份路徑,其它批量替換也可以修改使用,需要的朋友可以參考下
    2014-12-12
  • Shell內(nèi)置命令之exit的語法與實(shí)例

    Shell內(nèi)置命令之exit的語法與實(shí)例

    系統(tǒng)中是有exit命令的,用于退出當(dāng)前用戶的登錄狀態(tài),但是在?Shell?腳本中,exit?語句是用來退出當(dāng)前腳本的,下面這篇文章主要給大家介紹了關(guān)于Shell內(nèi)置命令之exit的語法與實(shí)例,需要的朋友可以參考下
    2022-03-03
  • linux shell中實(shí)現(xiàn)循環(huán)日期的實(shí)例代碼

    linux shell中實(shí)現(xiàn)循環(huán)日期的實(shí)例代碼

    這篇文章主要介紹了linux shell中實(shí)現(xiàn)循環(huán)日期的實(shí)例代碼,文中還給大家提到了LINUX SHELL遍歷日期(指定輸入兩個(gè)日期)的實(shí)現(xiàn)方法,感興趣的朋友跟隨小編一起看看吧
    2018-09-09

最新評(píng)論

宝应县| 富源县| 孝感市| 靖边县| 无为县| 十堰市| 稷山县| 合水县| 沾化县| 南郑县| 南郑县| 涿州市| 汕头市| 香港 | 佛坪县| 剑河县| 吉林市| 安龙县| 胶州市| 丰原市| 玛纳斯县| 青田县| 拉萨市| 三台县| 台南市| 临泽县| 建水县| 微博| 鲁甸县| 家居| 康马县| 安仁县| 青阳县| 海林市| 木兰县| 曲靖市| 南丰县| 四子王旗| 阳东县| 阿图什市| 永善县|