ошибка сценария оболочки, ожидающая "do" - PullRequest
10 голосов
/ 31 марта 2011
#!/bin/sh
while true ; do
echo "WTF"
done

Это дает синтаксическую ошибку: синтаксическая ошибка: неожиданный конец файла (ожидается "do")

Я также пытался:

#!/bin/sh
while :
do
echo "WTF"
done

Ответы [ 2 ]

26 голосов
/ 31 марта 2011

Я подозреваю, что конец строки.

Попробуйте:

hexdump -C yourscript.sh 

И найдите 0d 0a последовательности.Вы можете удалить \r (0d) с помощью команды tr:

cat yourscript.sh | tr -d '\r' >> yournewscript.sh
2 голосов
/ 31 марта 2011

Попробуйте:

#!/bin/sh
while [ true ]
do
    echo "WTF"
done

Обратите особое внимание на пробелы в строке 'while [true]'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...