<分区>
我几乎尝试了这里建议的所有解决方案,但我的这个非常简单的代码一直显示此错误
x=1
echo $x
while [$x -le 5];
do
echo $x
x=$(($x+1))
done
:
-sh-4.1$ sh test1.sh
1
test1.sh: line 10: syntax error: unexpected end of file
第 10 行是“完成”命令之后的一行。我知道这与空格有关,但我的程序中没有任何空格。
<分区>
我几乎尝试了这里建议的所有解决方案,但我的这个非常简单的代码一直显示此错误
x=1
echo $x
while [$x -le 5];
do
echo $x
x=$(($x+1))
done
:
-sh-4.1$ sh test1.sh
1
test1.sh: line 10: syntax error: unexpected end of file
第 10 行是“完成”命令之后的一行。我知道这与空格有关,但我的程序中没有任何空格。
最佳答案
[ ]
两边必须有空格才能使整个脚本正常工作,因此:
x=1
echo $x
while [ $x -le 5 ]; do
# ^ ^
# space space
echo $x
x=$(($x+1))
done
或使用 bash算术:
x=1
echo $x
while ((x < 5)); do
echo $((x++))
done
关于bash - 文件 Bash 意外结束(最后一行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27595227/