2011-01-06 5 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

ローカルマシンまたはMySQLインスタンスが実行されているホスト名に '/ tmp/sample.txt'を保存しようとしていますか? – chrisaycock

+0

[BashFAQ/050](http://mywiki.wooledge.org/BashFAQ/050)を参照してください(コマンドを変数に入れないでください)。 –

答えて

5

を取得していますどのような場合リダイレクション演算子(>)を引用符の外に移動しますか?

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