Linux下撰寫script檔時,如何判斷最近一次程式執行的回傳值
在Linux系統中,你可以使用$?
特殊變量來獲取最近一次命令或腳本執行的返回值。這個變量包含了最近一個在shell中執行的命令的退出狀態。
以下是如何使用它的示例:
- 首先,執行一個命令,例如
ls /nonexistent
,這個命令會失敗,因為/nonexistent
是一個不存在的目錄。
$ ls /nonexistent
ls: cannot access '/nonexistent': No such file or directory
- 然後,使用
echo $?
來列印出這個命令的退出狀態。
$ echo $?
2
在這個例子中,退出狀態是2
,這通常是檔案或目錄不存在時的標準退出碼。
- 如果你在腳本中想要檢查這個退出狀態,你可以將
$?
直接嵌入到腳本中。
以下是一個簡單的腳本示例,它會檢查上一個命令的退出狀態,並根據狀態做出相應的動作:
#!/bin/bash
# 執行一個命令
if ls /nonexistent >/dev/null 2>&1; then
echo "Command succeeded"
else
echo "Command failed with exit status: $?"
fi
# 或者,你可以直接使用$?
echo "Exit status of the last command is: $?"
當你運行這個腳本時,它會列印出上一個命令的退出狀態。
請注意,退出狀態是整數,通常在0到255之間。0表示命令成功執行,其他值通常用於表示不同的錯誤類型。你可以根據需要檢查和處理這些值。