在shell中獲取上一個(gè)命令的結(jié)果,可以使用特殊變量$?
和$_
來實(shí)現(xiàn)。
$?
變量:它保存了上一個(gè)命令的退出狀態(tài)碼(或稱為返回值)。通常,如果上一個(gè)命令成功執(zhí)行,則其退出狀態(tài)碼為0;如果有錯(cuò)誤發(fā)生,則會(huì)有非零的退出狀態(tài)碼。您可以使用$?
來獲取上一個(gè)命令的退出狀態(tài)碼,并進(jìn)一步根據(jù)需要進(jìn)行處理。
示例:
ls -l
echo "Exit status: $?" # 顯示上一個(gè)命令的退出狀態(tài)碼
$_
變量:它保存了上一個(gè)命令的最后一個(gè)參數(shù)。這對(duì)于需要傳遞相同參數(shù)或執(zhí)行相似操作的連續(xù)命令很有用。
示例:
ls -l /path/to/directory
cd "$_" # 使用 $_ 變量切換到上一個(gè)命令中指定的目錄
請(qǐng)注意,$_
變量只保存上一個(gè)命令的最后一個(gè)參數(shù),而不是整個(gè)命令的輸出結(jié)果。如果您想要保存并使用整個(gè)命令的輸出結(jié)果,可以將其存儲(chǔ)到變量中,并在需要時(shí)引用該變量。
示例:
output=$(ls -l) # 將 ls -l 命令的輸出結(jié)果存儲(chǔ)到變量 output 中
echo "$output" # 顯示存儲(chǔ)的輸出結(jié)果
使用上述方法,您可以獲取并處理上一個(gè)命令的結(jié)果或其他相關(guān)信息。