![对于测试命令,& 的含义是什么?](https://linux22.com/image/111201/%E5%AF%B9%E4%BA%8E%E6%B5%8B%E8%AF%95%E5%91%BD%E4%BB%A4%EF%BC%8C%26%20%E7%9A%84%E5%90%AB%E4%B9%89%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我了解了命令行命令测试并阅读一些例子。其中之一对我来说很晦涩:
test 100 -gt 99 && echo "Yes, that's true." || echo "No, that's false."
到目前为止我的理解是:
test 100 -gt 99
评估 100 是否大于 99
echo "Yes, that's true." || echo "No, that's false."
如果表达式为 true,则执行双管道符号左侧的命令,否则执行右侧的命令。
我找不到任何提示&说明书上的表述。
它的目的是什么?
答案1
&
没有任何意义test
,它是HTML实体为了放大器ersand &
,在 HTML 中具有特殊含义,因此不能按原样呈现。无论该片段来自何处,演示文稿都会被破坏。
解码该字符,该行应该是
test 100 -gt 99 && echo "Yes..." || echo "No..."
&&
并且||
仍然与自身没有任何关系test
,但是是 shell 的条件构造。cmd1 && cmd2
首先运行cmd1
,如果它返回真值(零),则运行cmd2
。