我有以下命令
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
没有任何反应。在日志文件中,仅显示回显字符串。
有人可以帮我吗?
答案 0 :(得分:4)
这是因为您只需将echo
命令作为字符串并将echo的输出重定向到日志文件。你什么都不做; - )
只需像在命令行中那样运行命令,并将mysql
命令(而不是echo
)的输出重定向到日志文件:
#!/bin/sh
mysql -u root -ppass myDB -e "select * from table limit 10;" >> /root/test.log
答案 1 :(得分:-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