Ошибка «неожиданный конец файла» при использовании оператора if - then - else - fi в сценарии Shell - PullRequest
0 голосов
/ 01 ноября 2019

Я пытаюсь прочитать файл, если файл существует в папке. Но когда я использую оператор if-then-else, чтобы проверить, существует файл или нет, эта ошибка произойдет. синтаксическая ошибка: неожиданный конец файла

Я написал скрипт в centos7. Я пытался разными способами исправить эту ошибку, например, убрав квадратные скобки, добавив пробелы и удалив полуколонны. Тем не менее я не смог найти никакого решения.

flag="0"
path="/home/abc/file.txt"
if [ -f $path ]; then
 flag="1"
 echo "file exists"
else
 echo "file could't find"
fi

Я ожидаю напечатать установленный флаг как «1», если файл существует, и распечатать «file not found», если файл не существует.

1 Ответ

0 голосов
/ 01 ноября 2019

Ваш скрипт работает довольно хорошо. Скорее всего, у вас есть специальные символы. Установите dos2unix, используя yum install dos2unix или любым другим способом, а затем выполните /usr/bin/dos2unix /path/your_script.sh. Теперь запустите ваш скрипт и посмотрите, работает ли он.

...