我想從失敗的命令返回退出代碼「0」。是否有這樣做,而不是任何更簡單的方法:如何從失敗的命令返回退出代碼0
function a() {
ls aaaaa 2>&1;
}
if ! $(a); then
return 0
else
return 5
fi
我想從失敗的命令返回退出代碼「0」。是否有這樣做,而不是任何更簡單的方法:如何從失敗的命令返回退出代碼0
function a() {
ls aaaaa 2>&1;
}
if ! $(a); then
return 0
else
return 5
fi
只需追加return 0
的功能強制功能始終退出成功。
function a() {
ls aaaaa 2>&1
return 0
}
a
echo $? # prints 0
如果你想以任何理由可以追加|| true
的命令做內聯:
ls aaaaa 2>&1 || true
echo $? # prints 0
如果你想與!
! ls aaaaa 2>&1
echo $? # prints 0
! ls /etc/resolv.conf 2>&1
echo $? # prints 1
反轉退出狀態簡單前插命令
此外,如果你陳述你正在努力實現的整體,我們可能能夠指導你更好的答案。
如果文件不存在'LS的/etc/resolv.conf 2>&1'將拋出一個醜陋的錯誤控制檯:) – Inian
它將。通過用'&>/dev/null'或stderr替換'2>&1',可以完全抑制輸出,只能通過用'2>/dev/null'替代它來抑制。 –
'返回!一個' – user000001
不需要命令替換簡單使用'if!一個;那麼......' – andlrc
如果'stderr'輸出寫入'stdout',在命令失敗的情況下,腳本會拋出一個令人討厭的錯誤,這可以通過沉默命令輸出並僅從命令執行狀態'$?' – Inian