2011-01-06 99 views
2

由於某種原因,bash腳本不會將mysql命令的輸出重定向到以下代碼片段中的指定文件中。麻煩重定向mysql命令輸出到bash腳本中的文件

#!/usr/bin/bash 

cmd="select * from foo > '/tmp/sample.txt'" 
mysql --user=test --password=test <db name> --host=<hostname> --port=<portname> -e "$CMD" 

上面的腳本輸出重定向時我替換爲「>」重定向操作符「INTO OUTFILE」安慰而不是文件

#!/usr/bin/bash 

    cmd="select * from foo INTO OUTFILE '/tmp/sample.txt' " 
    mysql --user=test --password=test <db name> --host=<hostname> --port=<portname> -e "$CMD" 

,我得到訪問權限錯誤

+0

您是否試圖將`/ tmp/sample.txt`保存到您的本地機器或MySQL實例正在運行的`hostname`? – chrisaycock 2011-01-06 22:13:13

回答

5

如果什麼您將重定向運算符(>)從引號中移出?

cmd="select * from foo" 
mysql --user=test --password=test <db name> --host=<hostname> --port=<portname> -e "$cmd" > /tmp/sample.txt 
相關問題