String 语法错误:for循环中出现意外的文件结尾

String 语法错误:for循环中出现意外的文件结尾,string,bash,list,for-loop,String,Bash,List,For Loop,我有一个非常大的脚本,我正在尝试引入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 我做错了什么?您需要使用donenotend来

我有一个非常大的脚本,我正在尝试引入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

我做错了什么?

您需要使用
done
not
end
来完成
for
循环的
bash
中没有
end
。将
用于。。做。。完成
。您的哈希值是多少,即第一行?如果只有扩展名,您的脚本可能会被解释为
sh
脚本,而不是
bash
脚本。请不要有意识地在
for
循环中解析
ls
的输出,请参阅。有关bash内置命令的语法,请参阅
帮助,并查看:@sat,就是这样,很有趣的是,在编码时,人们看不到像这样的小错误细节。谢谢。