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 回答