Fish shell: как выйти при ошибке (bash set -e)

В bash вы можете использовать set -e внутри скрипта, чтобы выйти при ошибке:

set -e
cd unexisting-folder
echo "this line will not be printed"

Но на рыбьей оболочке set -e используется для стирания переменных:

set FOO bar
set -e FOO
echo {$FOO} # prints newline

Что эквивалентно Bash set -e на Fish?


person mdesantis    schedule 09.11.2013    source источник


Ответы (1)


В рыбе нет эквивалента этому. https://github.com/fish-shell/fish-shell/issues/805 потратьте немного времени на обсуждение того, как может выглядеть подозрительная версия этого.

Если сценарий короткий, префикс каждой строки с префиксом and может быть не так уж плох:

cp file1 file2
and rm file1
and echo File moved
person ridiculous_fish    schedule 09.11.2013