没有那个文件或目录 linux shell脚本

没有那个文件或目录 linux shell脚本
#!/bin/bash
mysql -uroot -pwelcome1 < /home/sai/first.sql

echo "The program has completed"

我正在尝试从 shell 脚本调用一个 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查看文件中到底有什么内容。

相关内容