bash解释器本身具有选项,即 bash手册页的第22-23行: OPTIONS All of the single-character shell options documented in the description of the set builtin command can be used as options when the shell is invoked. In addition, bash interprets the following options when it is invoked: -c ... -i ... -l ... -r ... 我在bash手册页中使用了一些搜索模式,例如: /^\s*set /list …
我的非交互式bash shell具有extglob off。我想在命令之前的语句中将其打开,但是我注意到,当shopt -s extglob在一个if .. then .. else块中时,它会以某种方式无法注册。 以下依赖于extglob的命令无效:syntax error near unexpected token '('。 哪里可以extglob设置,为什么有限制呢?这是否适用于其他选项?... GNU bash 4.1.5 这有效: shopt -s extglob if true ;then touch a.bcd; ls a.@(bcd) fi 这将失败: if true ;then shopt -s extglob touch a.bcd; ls a.@(bcd) fi ... line 17: syntax error near unexpected …