[問題] mysql 使用 shell script問題

作者: yshihyu (yshihyu)   2015-07-05 12:41:26
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
謝謝
作者: ckc1ark (偽物)   2015-07-05 13:02:00
外面單引號拿掉改用"$cmd"呢
作者: tkcn (say)   2015-07-05 13:59:00
作者: yshihyu (yshihyu)   2015-07-05 13:59:00
一樣不行
作者: bitlife (BIT一生)   2015-07-05 14:20:00
單引號(')拿掉呢?
作者: kenduest (小州)   2015-07-05 20:17:00
cmd="select ........ label=$i"mysql -h ..... -pf0409 -Bse "$cmd" > $file
作者: chang505 (眼線)   2015-07-05 21:44:00
拿掉單引號就要把 cmd變成單行輸出 否則 cmd 就是陣列
作者: dream1203 (小叮噹)   2015-07-05 22:17:00
剛試過 ken大的解法不一定要cmd是單行
作者: danny8376 (釣到一隻猴子@_@)   2015-07-05 23:52:00
... 有加上\就是單行啊...

Links booklink

Contact Us: admin [ a t ] ucptt.com