Não existe tal arquivo ou diretório linux shell script

Não existe tal arquivo ou diretório linux shell script
#!/bin/bash
mysql -uroot -pwelcome1 < /home/sai/first.sql

echo "The program has completed"

Estou tentando chamar um arquivo sql a partir do shell script, estou executando o script como bash run.sh, mas ele diz que não existe tal directoryfirst.sql, mas se eu executar esse comando separadamente como mysql -uroot -pwelcome1 < /home/sai/first.sql, ele está funcionando, existe uma maneira diferente de escrever?

Responder1

Este é provavelmente um problema de final de linha. Se você abrir run.shno vim e executarset fileformat=unixe +aparece (para mostrar que o arquivo agora está modificado) significa que o arquivo tinha finais de linha do DOS, que o Bash não consegue interpretar corretamente. Salve e saia e o script deverá funcionar.

No futuro, se algo obviamente estranho estiver acontecendo, use um comando comood -ctx1 run.shpara ver o que realmente está no arquivo.

informação relacionada