退出與退出狀態(tài)

退出狀態(tài), 一般情況下,0為成功,1-255為失敗

每個(gè)命令都會(huì)返回一個(gè)退出狀態(tài)(exit status),有時(shí)也叫做返回狀態(tài)(return status)或退出碼(exit code)

命令執(zhí)行成功返回0,如果返回一個(gè)非0值,通常情況下會(huì)被認(rèn)為是一個(gè)錯(cuò)誤代碼。一個(gè)運(yùn)行狀態(tài)良好的UNIX命令、程序和工具在正常執(zhí)行退出后都會(huì)返回一個(gè)0的退出碼,當(dāng)然也有例外

腳本中的函數(shù)和腳本本身也會(huì)返回一個(gè)退出狀態(tài)。在腳本或者腳本函數(shù)中執(zhí)行的最后的命令會(huì)決定它們的退出狀態(tài)。在腳本中,exit nnn 命令將會(huì)把nnn退出狀態(tài)碼傳遞給shell(nnn 必須是 0-255 之間的整型數(shù))

當(dāng)一個(gè)腳本以不帶參數(shù)的 exit 來結(jié)束時(shí),腳本的退出狀態(tài)由腳本最后執(zhí)行命令決定(exit 命令之前)

邏輯非操作符 ! 將會(huì)反轉(zhuǎn)測(cè)試或命令的結(jié)果,并且這將會(huì) 影響退出狀態(tài)

#!/bin/bash
COMMAND_1
...
COMMAND_LAST

# 將以最后的命令來決定退出狀態(tài)
exit     # 正常都是exit $? ,并且 $? 對(duì)于測(cè)試腳本中的命令的執(zhí)行結(jié)果特別有用
# exit,exit $? 以及省略 exit 效果等同


在管道執(zhí)行后,$?  給出最后執(zhí)行的那條命令的退出狀態(tài)

唯愛與技術(shù)不可辜負(fù)
2017-10-14 23 : 43
回龍觀

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,564評(píng)論 19 139
  • 1.命令格式:ifconfig [網(wǎng)絡(luò)設(shè)備] [參數(shù)] 2.命令功能: ifconfig 命令用來查看和配置網(wǎng)絡(luò)設(shè)...
    Nuuuu閱讀 4,152評(píng)論 0 12
  • 0×1.幀中繼概述Frame Relay,簡(jiǎn)稱FR,可以將它看做X.25協(xié)議的簡(jiǎn)化版本,幀中繼網(wǎng)絡(luò)中不考慮傳輸差錯(cuò)...
    Zero___閱讀 2,572評(píng)論 0 2
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 12,417評(píng)論 6 13
  • 當(dāng)他再次答應(yīng)和我在一起的時(shí)候,我是沒想到的,電話那頭沒有一絲猶豫。就這樣,我們最終還是在一起了。大年三十的晚上。 ...
    夏可可閱讀 330評(píng)論 0 1

友情鏈接更多精彩內(nèi)容