#!/bin/bash
mysql -uroot -pwelcome1 < /home/sai/first.sql
echo "The program has completed"
쉘 스크립트에서 sql 파일을 호출하려고 하는데 스크립트를 다음과 같이 실행하고 있는데 bash run.sh
해당 디렉토리first.sql이 없다는 메시지가 표시됩니다. 그러나 해당 명령을 별도로 실행하면 mysql -uroot -pwelcome1 < /home/sai/first.sql
작동합니다. 다른 방법이 있습니까? 쓰다?
답변1
이는 아마도 줄 끝 문제일 것입니다. run.sh
vim으로 열고 실행하면set fileformat=unix
(파일이 이제 수정되었음을 보여주기 위해) 나타나는 것은 +
파일에 Bash가 올바르게 해석할 수 없는 DOS 줄 끝이 있다는 것을 의미합니다. 저장하고 종료하면 스크립트가 작동합니다.
나중에 확실히 이상한 일이 벌어지면 다음과 같은 명령을 사용하세요.od -ctx1 run.sh
파일에 실제로 무엇이 있는지 살펴보십시오.