我正在学习 shell 脚本,不明白 -eq
之间的区别和 ==
, -lt
和 <
, -gt
和 >
, 很快。
我正在尝试编写一个从 0 到 9 的 while 循环打印
num=0
while [ $num -lt 10 ]; do
echo "$num"
((num++))
done
此代码有效,但当我更改 -lt
时至 <
, 它说没有这样的文件或目录。
num=0
while [ $num < 10 ]; do
echo "$num"
((num++))
done
<
有什么问题?这里?我总是要去找-lt
吗?在 while 循环中?有没有通用的方法来做 while 循环?如果您能提供帮助,我们将不胜感激。
请您参考如下方法:
就语法而言,Shell 脚本总是与众不同。
所以当你说 -lt
它意味着小于 (<)。因此,当您编写代码时,它可以正常工作
while [ $num -lt 10 ]; do
echo "$num"
((num++))
done
但是当你使用 <
this 在 shell 脚本中用于从文件或目录读取输入。所以在你的例子中,它将搜索 $num
中的文件名。变量
简单来说
-lt
is Less than 用于条件检查<
用于从文件中读取输入。