LINUX.ORG.RU

Нормально выходит. Но выходит тот процесс, который создан для выполнения того что в скобках. То есть:

test -f myfile || (echo $myfile not found && exit 1; echo 111); echo 222

222 напечатается, а 111 нет.

Deleted
()

Для выполнения команд в скобках создаётся новый экземпляр шелла, в котором и выполняется exit. Лучше сделать как-нибудь так:
if ! test -f "$myfile"; then
echo $myfile not found;
exit;
fi

Laz ★★★★★
()

test -f myfile || { echo $myfile not found; exit 1; }

Slavaz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.