📅  最后修改于: 2023-12-03 14:59:30.468000             🧑  作者: Mango
bash: syntax error near unexpected token
do'` 错误介绍这是 Shell 脚本编写时常见的错误之一。它表示在 do
附近存在语法错误,但是具体错误的位置并未被正确标记出来。
这个错误常常是由于以下原因引起的:
do
前面的语句没有以正确的方式结束,例如没有正确的括号匹配或缺少了关键字。首先,应该仔细检查错误提示信息所在的行以及它之前的代码段,以找出问题所在。可以通过简化代码来定位问题。
接下来,可以使用 Shell 调试工具,例如 set -x
或 bash -x script.sh
等,来追踪脚本的执行过程,并查看问题所在。
如果问题比较复杂,还可以使用 Shellcheck 等脚本静态分析工具来帮助诊断。
#!/bin/bash
for i in $( seq 1 5 )
do
echo $i
done
在执行上面的脚本时,会抛出以下错误信息:
./test.sh: line 3: syntax error near unexpected token `done'
./test.sh: line 3: `done'
这个错误提示并没有很好地解释问题的位置,因为它只能告诉我们问题发生在 done
附近。但是仔细观察代码,可以发现第 2 行的 $( seq 1 5 )
中存在语法错误,应该改为 $(seq 1 5)
才能正确执行循环。