2013-08-26 110 views
1

我必須編寫一個unix shell腳本,它將獲取MySQL的參數並將結果導出到csv文件中。 我寫了一些程序,但無法將多個參數從shell腳本傳遞到sql。將多個參數從shell腳本傳遞到mysql查詢

任何人都可以幫我解決這個問題嗎?謝謝!!

回答

3

假設你這樣調用 $ ./script param1 param2 param3

腳本在腳本

echo $0 #will echo 'script' (the name of the script) 
echo $1 #will echo 'param1' 
echo $2 #will echo 'param2' 
echo $3 #will echo 'param3' 
echo $# #will echo '3' the number of params passed to script 
echo [email protected] #will echo 'param1 param2 param3' (all the parameters passed) 
host="127.0.0.1" 
user="root" 
password="pass" 
result=`mysql -h $host --user=$user --password=$password --skip-column-names -e "select $param1 from $param2 where $param3 = 3"` 
echo $result 
2
mysql -e "set @param1:=4897, @param2:=2; source the_script.sql;" 

和腳本:

SELECT @param1, @param2; 

附:順便說一句,我建議使用--defaults-extra-file選項來傳遞連接參數。