shell高階程式設計筆記 第六章 退出和退出狀態

2021-10-07 16:48:54 字數 892 閱讀 1513

exit 命令被用來結束指令碼,就像c語言一樣。它也會返回乙個值來傳給父程序,父程序會判斷是否可用。

每個命令都會返回乙個exit狀態(也可以叫return狀態)。

指令碼中的函式和指令碼本身都會返回退出狀態。在指令碼或者是指令碼函式中執行的最後命令會決定退出狀態。在指令碼中,"exit n"命令將會把n退出碼傳遞給shell;當乙個指令碼不帶引數exit來結束時,指令碼的退出狀態由指令碼中最後執行的命令來決定

$? 讀取最後執行命令的退出碼。函式返回後,$?給出函式最後執行的那條命令的退出碼。這種給函式返回值的方法是bash的方法。對於指令碼來說也一樣。

example 6.1 exit/exit 狀態

#!/bin/bash

echo hello

echo $? #0

lspwd

echo $? #非0

exit 123 #123

$? 對於測試指令碼中的命令的結果特別有用(見example 12.32和example 12.17)

注意:!邏輯非操作,將會反轉test命令的結果,並且這會影響exit狀態。

example 6.2 否定乙個條件使用!

true   #true是shell內建命令,什麼都不做,shell返回0

echo

"exit status of \"true\" = $?"

# 0! true #注意:"!"後面需要乙個空格

echo

"exit status of \"true\" = $?"

#1

如果乙個命令以"!"開頭,那麼將使用bash的歷史機制。就是顯示這個命令被使用的歷史。

注意:特定的退出碼都有預定義的含義,使用者不應該在自己的指令碼中指定它。

unix環境高階程式設計第六章筆記

口令檔案 陰影口令 組檔案附屬組id 登入賬戶記錄 系統標識 etc passwd檔案是unix安全的關鍵檔案之一。該檔案用於使用者登入時校驗使用者的口令,檔案中每行的一般格式為 使用者名稱 x 使用者id 使用者組id 說明資訊 個人主目錄 shell 對於第二項x來說是密碼,但由於安全原因密碼已...

第六章筆記

頂層const與底層const的區別 頂層const是指標物件本身是乙個常量,而底層const是指標所指的物件是乙個常量,理解起來就相當於前者是直接,後者是間接。宣告函式可以多次,但是每個形參只能用實參預設初始化一次,即後續宣告只可以為未預設初始化的形參新增預設實參,而且其形參右側的所有形參必須都有...

UNIX環境高階程式設計第六章 讀後筆記

看了unix環境高階程式設計的第六章 系統資料檔案和資訊,現記錄讀後心得。本章主要介紹了系統資料檔案的結構和用途,以及在程式設計中讀取 設定的方式。開頭介紹了 etc passwd,即口令檔案。口令檔案中使用 分隔開各個字段,記錄了系統的現有的使用者名稱 使用者id 組id 主目錄 預設shell。...