在shell中,可以使用特殊變量$?來獲得上一個命令的退出狀態碼。一般情況下,退出狀態碼為0表示命令執行成功,非0表示命令執行失敗。
例如,可以使用以下方式來判斷命令是否執行成功:
command
if [ $? -eq 0 ]; then
echo "Command executed successfully"
else
echo "Command failed"
fi
在上述示例中,首先執行了一個命令command,然后通過$?獲取該命令的退出狀態碼,并通過if語句判斷狀態碼值。如果狀態碼為0,輸出"Command executed successfully";如果狀態碼非0,輸出"Command failed"。
另外,也可以直接在if語句中使用命令,無需使用$?來獲取狀態碼,例如:
if command; then
echo "Command executed successfully"
else
echo "Command failed"
fi
在上述示例中,如果命令command執行成功,if語句返回真,輸出"Command executed successfully";如果命令執行失敗,if語句返回假,輸出"Command failed"。