2011-11-27 119 views
2

我的bash脚本是bash中&&的反义词是什么?

zenity --question --text=Continue? && echo Continuing... 

我怎样才能使它所以它会回应,如果用户没有选择停止?即:

zenity --question --text=Continue? && echo Continuing... !&& echo Stopping... 

回答

6

它不是真正的&&相反的,但这样的事情可以做:

zenity --question --text=Continue? && echo Continuing... || echo Stopping... 
+0

感谢您的快速响应! – t3hcakeman

+4

请小心!如果你的“真”声明不是一个简单的'echo'并且可以返回非零值,那么“else” - 声明也会被执行!请尝试'true && false ||回声“停止...” – uzsolt

1

这是合乎逻辑的OR,||

zenity --question --text=Continue? || echo Continuing... 

(所以true && cmdfalse || cmdcmd都做同样的事情)

0
if zenity --question --text='Continue?' 
then echo Continuing... 
else echo Stopping... 
fi 
0

可能有办法做到这一点在一行上,但我通常使用,我发现下面更具可读性:

if zenity --question --text=Continue? 
then 
     echo Continuing... 
else 
     echo Stopping... 
fi