【发布时间】:2016-04-05 09:34:25
【问题描述】:
为什么要打印这行代码?
if [ "a" < "a" ]; then echo wow; fi
还有这一行:
if [ "a" > "a" ]; then echo woow; fi
【问题讨论】:
-
您的目录中是否有一个文件
a?因为这不是检查字符串。 -
我没有,但现在我有了,我认为“a”>“a”创造了这样的。
-
@Nick 正确。
[ "a" < "a" ]实际上等价于[ "a" ] < "a";由于[是一个简单的命令,输入重定向< "a"可以出现在[之前或其参数列表中的任何位置。 -
是的; simple 命令可以在重定向操作符之前,因此
< "a" [ "a" ]是合法的(但不是< "a" while read line; do ...; done,因为while是一个复合命令)。您不经常看到它,但在某些情况下它可能更具可读性。 -
(如果你能原谅我的小吐槽,我认为让
[成为test的别名是我见过的最糟糕的设计决策之一。)
标签: string bash scripting comparison