Нет такого файла или каталога сценария оболочки Linux

#!/bin/bash
mysql -uroot -pwelcome1 < /home/sai/first.sql

echo "The program has completed"

Я пытаюсь вызвать sql-файл из сценария оболочки, я запускаю сценарий как bash run.sh , но он сообщает, что такого каталога нет .first.sql, но если я запустил эту команду отдельно как mysql -uroot -pwelcome1 , он работает, есть ли другой способ записи?

-1
задан 11 March 2018 в 09:12
1 ответ

Вероятно, это проблема с окончанием строки. Если вы откроете run.sh в vim и запустите set fileformat = unix , и появится + (чтобы показать вам, что файл теперь изменен), это означает что в файле есть окончания строки DOS, которые Bash не может правильно интерпретировать. Сохраните и закройте, и сценарий должен работать.

В будущем, если произойдет что-то явно странное, пожалуйста, используйте команду вроде od -ctx1 run.sh , чтобы посмотреть, что на самом деле находится в файле.

2
ответ дан 5 December 2019 в 19:21

Теги

Похожие вопросы