对于Cygwin bash shell中的循环,后跟“>”

时间:2018-06-12 17:19:52

标签: bash for-loop cygwin

当我在cygwin bash shell中输入以下命令时:

for i in $(ls) do echo $i done

我得到了一个“>”要求我继续打字,而不是预期的行为。为什么呢?

2 个答案:

答案 0 :(得分:2)

你需要分开你的for,do和done语句。试试这个:

for i in $(ls); do echo $i; done

您还可以使用换行符分隔语句。例如:

cygwin$ for i in $(ls)
> do
> echo $i
> done

答案 1 :(得分:1)

您的for循环仍在等待终止值列表的分号或换行符。到目前为止,您已将i设置为ls生成的单词列表,单词do,单词echo,以及<扩展< em> i的当前值和单词done

>是所谓的辅助提示符,表示shell仍在等待输入以完成for启动的命令。