За цикл в оболочке Cygwin Bash с последующим ">" - PullRequest
0 голосов
/ 12 июня 2018

Когда я набираю следующую команду в оболочке cygwin bash:

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

, я получаю «>» с просьбой продолжать печатать, в отличие от ожидаемого поведения.Почему?

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Ваш цикл for все еще ожидает точку с запятой или символ новой строки, который завершает список значений.Итак, ваш цикл с набором i для списка слов, созданных с помощью ls, слова do, слова echo, слов, полученных в результате расширения значения current i и слово done.

> - это так называемое вторичное приглашение, которое указывает, что оболочка все еще ожидает ввода для завершения команды, начатой ​​for.

0 голосов
/ 12 июня 2018

Вы должны разделить ваши операторы for, do и done. Попробуйте это:

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

Вы также можете отделить операторы с помощью новых строк.Для примера:

cygwin$ for i in $(ls)
> do
> echo $i
> done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...