2014-10-15 3 views
6

bash 파일에서 .sql 파일을 실행하고 싶지만 bash 파일에서 .sql로 매개 변수를 전달해야합니다. 나는 그것이 간단한 해결책이라고 생각하지만 나는 그것을 이해할 수 없다. 매개 변수를 사용하여 bash에서 .sql 파일을 실행하십시오.

내가 지금까지 무엇을 가지고 :

.SQL 파일

SET @columnValue = &1; 
UPDATE tblTest SET Description = @columnValue; 

배쉬 파일

#!/bin/bash 
columnValue=$1 
mysql -uroot -ppassword testDB < SQLscript.sql $columnValue 

sh myBashFile.sh "testColumnValue" 

누구든지 내가 뭘 잘못하고 있다고 말할 수 있습니까?

+0

현재 진행 상황을 알려주실 수 있습니까? – ninesided

답변

1

SQL 매개 변수를 먼저 설정 한 다음 .sql 파일을로드해야합니다.

bash 스크립트에서 -e 옵션과 함께 mysql을 사용하여 SQL 문을 실행할 수 있습니다. mysql이 bash를 사용하여 파일을 읽는 대신에 파일을로드하도록 동일한 메소드를 사용해야한다.

this example script을 참조하십시오.

단일 명령문 만 실행하려면 this question을 참조하십시오.

+0

귀하의 솔루션은 잘 작동합니다. :) 그래서 내가 제대로 이해하면 변수를 mysql을 설정하지 않고 .sql 파일에 매개 변수를 전달할 수있는 방법이 무엇입니까? – Moenie

+0

.sql 파일의 변수 토큰을 mysql에 넘겨주는 bash 스크립트를 생성 할 수 있습니다. 그러나 불필요하게 복잡하게 만들 것입니다. – andy

관련 문제