[Comm] shell logical expressions

Eugene Prokopiev =?iso-8859-1?q?prokopiev_=CE=C1_stc=2Edonpac=2Eru?=
Пн Авг 20 10:25:06 MSD 2007


Denis Kirienko пишет:
> Eugene Prokopiev пишет:
>> Здравствуйте!
>>
>> Нужно выполнить несколько команд, если хотя бы одна вернула не 0, тоже 
>> вернуть не 0 и выругаться. Делаю примерно так:
> 
> cmd1 && cmd2 || { echo "ERROR" ; exit 1 ; }
> 
> не подойдет?

если cmd1 или cmd2 (или обе вместе - и это уже постановке задачи не 
удовлетворяет) вернули 0, выполнится то, что в {}, т.к. результат ИЛИ 
еще не известен, т.е. вернется не 0

если cmd1 и cmd2 вернули не 0, то {} не выполнится, т.к. результат ИЛИ 
уже известен, и ругани не будет, хотя вернется и правда не 0

-- 
С уважением,
Прокопьев Евгений




Подробная информация о списке рассылки community