Что противоположно && в bash? - PullRequest
2 голосов
/ 27 ноября 2011

Мой bash-скрипт

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

Как мне сделать так, чтобы эхо остановилось, если пользователь выбрал нет? i.e.:

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

Ответы [ 5 ]

6 голосов
/ 27 ноября 2011

Это не совсем противоположно &&, но что-то вроде этого может сделать:

zenity --question --text=Continue? && echo Continuing... || echo Stopping...
1 голос
/ 27 ноября 2011

Это логическое ИЛИ, ||:

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

(То есть true && cmd, false || cmd и cmd все делают одно и то же.)

0 голосов
/ 27 ноября 2011

Может быть способ сделать это в одной строке, но я обычно использую следующее, которое мне кажется немного более читабельным:

if zenity --question --text=Continue?
then
        echo Continuing...
else
        echo Stopping...
fi
0 голосов
/ 27 ноября 2011
if zenity --question --text='Continue?'
then echo Continuing...
else echo Stopping...
fi
0 голосов
/ 27 ноября 2011

Используйте || для создания "OR списка":

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

См. http://www.gnu.org/s/bash/manual/bash.html#Lists.

...