在 bash 上,您可以在脚本中使用
set -e
以便在出现错误时退出:
set -e
cd unexisting-folder
echo "this line will not be printed"
但是在fish shell上
set -e
用于擦除变量:
set FOO bar
set -e FOO
echo {$FOO} # prints newline
Fish 上的 Bash
set -e
相当于什么?
鱼类中没有类似的东西。 https://github.com/fish-shell/fish-shell/issues/805 花一点时间讨论这个可疑版本可能是什么样子。
如果脚本很短,在每行前面加上
and
可能还不错:
cp file1 file2
and rm file1
and echo File moved
另一个流行的选择是:
cp file1 file2; or return
rm file1; or return
echo File moved; or return
另一种选择是将自定义函数添加到您要检查的命令中:
function try
if ! $argv
echo "ERROR ($argv)"
exit 1
end
end
try cd unexisting-folder
echo "this line will not be printed"