mysql 使用 shell script問題 - Linux

Table of Contents


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


謝謝

--

All Comments

Joe avatarJoe2015-07-09
外面單引號拿掉改用"$cmd"呢
Kyle avatarKyle2015-07-13
Harry avatarHarry2015-07-17
一樣不行
Emma avatarEmma2015-07-18
單引號(')拿掉呢?
Eartha avatarEartha2015-07-23
cmd="select ........ label=$i"
Ursula avatarUrsula2015-07-23
mysql -h ..... -pf0409 -Bse "$cmd" > $file
Connor avatarConnor2015-07-27
拿掉單引號就要把 cmd變成單行輸出 否則 cmd 就是陣列
Charlie avatarCharlie2015-07-29
剛試過 ken大的解法不一定要cmd是單行
James avatarJames2015-07-31
... 有加上\就是單行啊...