bash - 文件 Bash 意外结束(最后一行)

标签 bash shell

<分区>

我几乎尝试了这里建议的所有解决方案,但我的这个非常简单的代码一直显示此错误

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

或使用 算术:

x=1
echo $x
while ((x < 5)); do
    echo $((x++))
done

关于bash - 文件 Bash 意外结束(最后一行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27595227/

相关文章:

bash - 为什么进程替换并不总是适用于 bash 中的 while 循环?

bash - 如何删除字符串中的最后一个分号?

linux - 如何在 unix 中附加一个带有字符串和当前日期的文件名

regex - 如何使用Linux命令工具去除字符串开头和结尾的数字?

bash - 如何检查文件的大小是否大于 Bash 中的某个值

xml - 在 shell 脚本中使用 sed 命令在 XML 文件中添加 XML 元素

c - GDB 在 shell 生成时卡住

regex - 在多种文件类型的查找命令中使用正则表达式

linux - 使用shell脚本快速读取Arduino数据

bash - Netbeans "Remote Terminal Tab"alt/ctrl 和其他组合键不起作用