#!/bin/bash
mysql -uroot -pwelcome1 < /home/sai/first.sql
echo "The program has completed"
我正在嘗試從 shell 腳本呼叫 sql 文件,我正在運行該腳本bash run.sh
,但它告訴我沒有這樣的目錄first.sql,但如果我單獨運行該命令mysql -uroot -pwelcome1 < /home/sai/first.sql
,它正在工作,是否有不同的方法寫?
答案1
這可能是行結束問題。如果你run.sh
在 vim 中打開並運行set fileformat=unix
並且+
出現(向您表明該檔案現已修改),這意味著該檔案具有 DOS 行結尾,Bash 無法正確解釋。儲存並退出,腳本應該可以工作。
將來,如果發生明顯奇怪的事情,請使用類似的命令od -ctx1 run.sh
查看文件中的實際內容。