【发布时间】:2017-10-07 18:43:00
【问题描述】:
我有一个非常大的脚本,我正在尝试引入一个 for 循环。 为了测试我的语法是否正确,在第 120 行说,我有:
for M in "1 2 3 4"; do
echo $M
end
但是我得到了错误:
./script.sh: line 120: syntax error: unexpected end of file
更令人担忧的是,如果我跑步,我会得到同样的结果:
for M in $( ls ); do
echo $M
end
我在这里做错了什么?
【问题讨论】:
-
bash中没有end。使用for .. do .. done。 -
你的 hash-bang 是什么,即第一行?如果只有扩展名,您的脚本可能会被解释为
sh脚本而不是bash脚本。 -
永远不要有意识地在
for循环中解析ls的输出,参见ParsingLs。 -
查看
help for了解bash 内置命令的语法,请查看:shellcheck.net -
@sat,就是这样 - 谢谢