Intereting Posts
Многоканальный звук для звуковых эффектов Хэллоуина команда не запущена в cron (systemctl suspend) Доступ к серийному устройству от гостя LXC Правильная блокировка в сценариях оболочки? Отключение или изменение ключей переключения консоли удалите номер версии с низкой версией Как полностью удалить табличное пространство из MySQL? Как я могу добавить префикс для ввода, который я получаю из канала через awk, и условно окрасить префикс? Как просмотреть буферизованные и кэшированные данные Компиляция ошибки Python 3.4.3 Почему не ставится elinks в фоновом режиме, а затем возобновляется с `fg` работать надежно? sudo – ubuntu 12.04 Почему я получаю разрешение на отклонение ошибки при выходе из сеанса SSH? Как я могу настроить firewalld для совместного использования одного интерфейса с несколькими зонами? Застрял на старом ядре при попытке перейти от Squeeze to Wheezy

Нужна команда для отображения эха «успех»

diff -q file_1 File_2 || echo "success" && diff -q file_3 File_4 || echo "success" 

использовал эту команду, но это не правильная логика, которая мне нужна, нужно как-то отредактировать.

Здесь file_1 File_2 различны, а файл_3 File_4 отличается, а echo будет выполняться дважды, что должно выполняться только один раз, а также если один из файлов file_1 File_2 или файл_3 File_4 различен, то и echo "success" должен выполняться только один раз.

Если вы настаиваете на оценке коротких замыканий, используйте группировку команд {} :

 { diff -q f1 f2 && diff -q f3 f4 ;} && echo 'Matched' || echo 'Different' 

Аналогично будет подоболочка () :

 ( diff -q f1 f2 && diff -q f3 f4 ) && echo 'Matched' || echo 'Different' 

Если вам не нужен вывод diff :

 { diff -q f1 f2 && diff -q f3 f4 ;} >/dev/null && echo 'Matched' || echo 'Different' ( diff -q f1 f2 && diff -q f3 f4 ) >/dev/null && echo 'Matched' || echo 'Different' 

Вы бы гораздо лучше вложили это в конструкторы, чтобы сделать это яснее, это позволит вам легко идентифицировать файлы:

 if diff -q f1 f2 >/dev/null; then if diff -q f3 f4 >/dev/null; then echo 'All Matched' else echo 'f3 and f4 are Different' fi else echo 'f1 and f2 Different' fi