#!/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.sh
no vim e executarset fileformat=unix
e +
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.sh
para ver o que realmente está no arquivo.