2
shopt -s failglob;
ls -l /non-existent/*; echo A;
echo B
只打印“B”(和“不匹配”错误)。bash:下一个命令行在failglob触发后不能执行
http://www.gnu.org/software/bash/manual/bashref.html#Filename-Expansion
说,导致扩张失败的指令没有得到执行;但不是该行的其余部分被忽略。如何将扩展失败的影响仅限于实际的命令?
这是在GNU bash下,Gentoo-Linux上的版本4.2.45(1)-release(i586-pc-linux-gnu)
谢谢。
扩展失败似乎比正常错误更多例外; eval可以处理它,但也许有一个更优雅的解决方案 –
虽然手册页说“命令”没有执行,但实际上似乎阻止了整个“列表”(即,一系列由“ ','&&','||'或';')运行。 – chepner