0

次のコマンドがあります

  mysql -u root -ppass myDB -e "select * from table limit 10;"

Linuxサーバーから実行すると正常に動作します(10個のタプルが表示されます)

bashファイルに以下を追加した場合

  echo 'mysql -u root -ppass myDB -e select * from table limit 10;' >> /root/test.log

何も起こりません。ログ ファイルには、エコー文字列のみが表示されています。誰かがこれで私を助けてくれますか?

4

2 に答える 2

4

これはecho、コマンドを文字列として送信し、echoの出力をログファイルにリダイレクトするためです。あなたは他に何もしません;-)

コマンドラインで実行するのと同じようにコマンドを実行し、コマンドの出力をmysql(ではなくecho)ログファイルにリダイレクトします。

#!/bin/sh
mysql -u root -ppass myDB -e "select * from table limit 10;" >> /root/test.log
于 2012-04-17T11:34:40.090 に答える
-1

それの訳は

mysql -u root -ppass myDB -e "select * from table limit 10;"

と同じではありません

mysql -u root -ppass myDB -e select * from table limit 10;

これを使用してみてください:

echo 'mysql -u root -ppass myDB -e "select * from table limit 10;"' >> /root/test.log

そして実際にコマンドを呼び出します

mysql -u root -ppass myDB -e "select * from table limit 10;" >> /root/test.log
于 2012-04-17T11:34:44.980 に答える