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

Нет такого файла или каталога скрипт оболочки Linux
#!/bin/bash
mysql -uroot -pwelcome1 < /home/sai/first.sql

echo "The program has completed"

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

решение1

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

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

Связанный контент