Bash

如何為 bash 命令失敗執行 if 條件?

  • October 9, 2019

我想要一個非常簡單的條件,只有在command失敗時才會執行。

在此範例中,它是基於命令成功的條件。

if command ; then
   echo "Command succeeded"
fi

我想要相反的- 我該怎麼做?除了做一個比較之外,有沒有一種優雅的方式$?

我不想使用||or 運算符 - 它確實在語義上傳達了(在我看來)所需的功能。的情況下command || echo "command failed"

否定命令的退出狀態

if ! command ; then
   echo "Command failed"
fi

@StephenKitt 正確答案的替代方法::在“then”塊和塊中使用“no-op”命令else

if command; then :; else
   echo "command failed"
fi

完全披露:我自己不會使用這種方法。

引用自:https://unix.stackexchange.com/questions/545922