Я использовал vimdiff
для этого.
Вот является снимок экрана (не мой) показом незначительного одного или двух символьных различий, который выделяется вполне прилично. Быстрое учебное руководство также.
Они должны сделать то, в чем Вы нуждаетесь:
cmd1 && cmd2 && echo success || echo epic fail
или
if cmd1 && cmd2; then
echo success
else
echo epic fail
fi
Petr Uzel является пятном на, но можно также играть с волшебным $?.
$? содержит код выхода от последней команды, выполняемой, и если Вы используете это, можно записать довольно гибкие сценарии.
Это подвергает сомнению, касается этой темы немного, Лучшая практика для использования $? в ударе?.
cmd1
if [ "$?" -eq "0" ]
then
echo "ok"
else
echo "Fail"
fi
Затем также можно реагировать на различные коды выхода и сделать разные вещи, если Вам нравится.
Псевдокод -в вопросе не соответствует названию вопроса.
Если кому-то действительно нужно знать, как запустить команду 2, если команда 1 не удалась, вот простое объяснение:
cmd1 || cmd2
:Запустится cmd1
, а в случае сбоя запуститсяcmd2
cmd1 && cmd2
:Это запустится cmd1
, а в случае успеха запуститсяcmd2
cmd1 ; cmd2
:Это запустится cmd1
, а затем запустится cmd2
, независимо от неудачи или успеха запуска cmd1
.
||
не смотрит на вывод первогоecho
команда. – mlissner 20.08.2015, 00:32Just try whoami && whoami && echo success || echo epic fail
и теперьwhoami && whoareyou && echo success || echo epic fail
. Я не могу выяснить то, под чем Вы подразумеваете, "не смотрит на вывод первой команды эха" – m3nda 09.02.2016, 16:41cmd1 && cmd2
– Kazim Zaidi 23.08.2017, 14:25