相关疑难解决方法(0)

“算术扩展”是对 `[[` 测试中的变量的预期操作吗?

这个脚本:

a=2
[[ "$a" -eq 2 ]] && echo yes1
[[  $a  -eq 2 ]] && echo yes2
[[   a  -eq 2 ]] && echo yes3
[[  "a" -eq 2 ]] && echo yes4
Run Code Online (Sandbox Code Playgroud)

不适用于(以及其他一些没有 [[ )。
(BusyBox ash) 中的最后两个“是”测试失败。正如我所料。

但是,完全不符合预期:
当使用算术 » -eq « 时(和其他一些)会发生这种情况。
打印所有四个 yes 。

问的

这是将“算术扩展”应用于 ( a)等标签的自然副作用吗?。
(没什么可看的,继续前进?)

a引用时( ) 是否仍应扩展为变量:"a"?

这是否记录在我还没有研究过的地方?

或者,是一个简单的(非常古老的)错误吗? …

command-line shell bash ksh zsh

6
推荐指数
2
解决办法
481
查看次数

标签 统计

bash ×1

command-line ×1

ksh ×1

shell ×1

zsh ×1