3
if date -d "2012010123"
如果date命令返回零退出代码,则运行。我如何才能得到相反的结果?换句话说,如果退出代码是1,我如何才能运行if语句?如何得到Bash中if结构的相反结果?
if date -d "2012010123"
如果date命令返回零退出代码,则运行。我如何才能得到相反的结果?换句话说,如果退出代码是1,我如何才能运行if语句?如何得到Bash中if结构的相反结果?
否定它:
if ! date -d "2012010123"; then
# do something here (date returned with non-zero exit code)
fi
从help test
报价:
! EXPR True if expr is false.
尴尬我的。 *叹*。这个问题>/dev/null – imagineerThat
@imagineerThis没关系;这有时会发生。 – devnull
@imagineer别担心;你对bash了解得越多,就越意识到这个问题非常深刻。例如,答案提到“帮助测试”;但这实际上与测试程序无关(又名''',但那是另一回事)。 '!'是一个bash保留关键字,它否定了流水线的返回状态,'if'需要一条流水线,这只是开始。无论如何,很好的问题。 – hraban