作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我运行这个命令
set -e; echo $(echo "$-");
himBH
作为输出。我期待着这封信
e
被包含在输出中。这是怎么回事?
最佳答案
命令替换不继承 errexit
选项,除非您处于 POSIX 模式或使用 inherit_errexit
shell 选项(添加到 bash
4.4)。
192% bash -ec 'echo "$(echo "$-")"'
hBc
192% bash --posix -ec 'echo "$(echo "$-")"'
ehBc
192% bash -O inherit_errexit -ec 'echo "$(echo "$-")"' # 4.4+
ehBc
关于在 ubuntu 16 : set -e not inheriting inside subshell 上 bash ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42750886/
我需要区分两种情况:( …subshell… )对比$( …command substitution… ) 我已经有了以下函数,它区分在命令替换或子 shell 中运行和直接在脚本中运行。 #!/bi
据我所知,有两种方法可以在 bash 函数中创建局部变量:创建子 shell 或将每个变量声明为局部变量。 例如: # using local function foo { local count
当我运行这个命令 set -e; echo $(echo "$-"); 我得到 himBH作为输出。我期待着这封信 e被包含在输出中。这是怎么回事? 我在 Ubuntu 16.04.1 LTS 上 G
根据 run bash command in new shell and stay in new shell after this command executes ,如何运行命令: bash --r
我是一名优秀的程序员,十分优秀!