我有一个简单的bash脚本:
#!/bin/bash
counter=0
while [ $counter < 100 ]; do
echo $counter
counter=$((counter+1))
done
然而,当我尝试执行此操作时,我收到此错误:
./test: line 4: 100: No such file or directory
答案 0 :(得分:7)
在bash中,<
重定向标准输入,因此您要告诉bash从名为100
的文件中读取,该文件不存在。而是使用-lt
来比较数字。
#!/bin/bash
counter=0
while [ $counter -lt 100 ]; do
echo $counter
counter=$((counter+1))
done
你想做什么。
答案 1 :(得分:1)
&#34;小于&#34;运算符为-lt
,而不是<
。
<
会将文件内容重定向到左侧的命令。这就是您遇到此错误的原因:文件100
不存在。