我了解了命令行命令测试并阅读一些例子。其中之一对我来说很晦涩:
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
。