[問題] mysql 使用 shell script問題

看板Linux作者 (yshihyu)時間9年前 (2015/07/05 12:41), 編輯推噓3(306)
留言9則, 8人參與, 最新討論串1/1
https://gist.github.com/anonymous/678d384c050a0012559c cmd="'select test_seq, year, month, day, hour, minute, name,\ hop_no, test1_hop, test1_RTT, test2_hop, test2_RTT, test3_hop, \ test3_RTT, usr_id from dmp.temp_table where label=$i'" mysql -h localhost -u root -pf0409 -Bse $cmd > $file 為什麼拆成這樣不行 , echo $cmd 印出來的 mysql command 沒問題 , 但是就是失敗 必須改成下面寫法才可以請問這是什麼原因? mysql -h localhost -u root -pf0409 -Bse "select test_seq, year, month, \ day, hour, minute, name, hop_no, \ test1_hop, test1_RTT, test2_hop, \ test2_RTT, test3_hop, test3_RTT, \ usr_id from test.temp_table where label=$i" > $file 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.117.188 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1436071291.A.A19.html

07/05 13:02, , 1F
外面單引號拿掉改用"$cmd"呢
07/05 13:02, 1F

07/05 13:59, , 2F
07/05 13:59, 2F

07/05 13:59, , 3F
一樣不行
07/05 13:59, 3F

07/05 14:20, , 4F
單引號(')拿掉呢?
07/05 14:20, 4F

07/05 20:17, , 5F
cmd="select ........ label=$i"
07/05 20:17, 5F

07/05 20:19, , 6F
mysql -h ..... -pf0409 -Bse "$cmd" > $file
07/05 20:19, 6F

07/05 21:44, , 7F
拿掉單引號就要把 cmd變成單行輸出 否則 cmd 就是陣列
07/05 21:44, 7F

07/05 22:17, , 8F
剛試過 ken大的解法不一定要cmd是單行
07/05 22:17, 8F

07/05 23:52, , 9F
... 有加上\就是單行啊...
07/05 23:52, 9F
文章代碼(AID): #1LcBLxeP (Linux)