我遇到了shell腳本問題。由於語法錯誤,grant命令在shell腳本中不起作用
由於某種原因,我已經在雙引號(")
之前使用了\
字符,如我的shell腳本的以下行中所示。
SQL2 = \ 「在\ $ {} DB_NAME授予所有*爲\ $ {} DB_USER @ \ $ {}主機通過\ $ {} DBPASS鑑定; \」;
但隨着MySQL的「批」命令語法,我需要把雙引號之前和之後\${dbpass}
,這是shell腳本行我給above.When我把這樣的,\"\${dbpass}\"
的一部分,在執行期間拋出語法錯誤。我需要解決這個問題。
這是一個更新。
這是我想要運行的shell腳本。
的ssh -t [email protected]「
蘇根-c 」
回聲\「 給數據庫名稱:\ 」;
讀DB_NAME;
回聲\「 給密碼:\」;
讀DB_PASS;
主機=本地主機;
SQL1 = \ 「創建數據庫\ $ DB_NAME; \」。
SQL2 = \「授予所有在\ $ {DB_NAME} *爲\ $ {DB_NAME} @ \ $ {host}由\「\ $ {db_pass} \」; \「標識;
sql3 = \「\ $ {sql1} \ $ {sql2} \」;
echo \「============== \」;
mysql -u root -p -e \「\ $ {sql3} \」;
「
「
請參考此腳本,並請讓我知道我需要這個做必要的修改
感謝
你提到'$ db_name'等變量,它們是來自shellscript的嗎?其次,它真的需要雙引號?是否支持單引號?什麼是語法錯誤,腳本?你如何將這個傳遞給_something_和_something_? – Jite 2013-03-06 12:02:39
sql2是一個bash變量? – 2013-03-06 12:38:30
@DavideBerra:我不知道你是誰,但我看不到任何具體的東西,使它成爲_bash_變量。而是一個shell變量:) – Jite 2013-03-06 13:24:26