我正在编写一个bash脚本,我想将MySQL错误重定向到一个日志文件。
我在下面取得了成功(ERROR 1045(28000):用户拒绝访问...被附加到日志文件中)
mysql -u user -pWrongpass -sN -e "query to update db;" 2>&1 | tee -a log
但是,我没有成功。我运行脚本时会显示错误,但我没有在日志文件中看到它。
result=$(mysql -u user -pWrongpass -sN "query to select from db;") 2>&1 | tee -a log
在将任何潜在错误打印到日志文件时,将查询结果放入变量的正确语法是什么?
先谢谢,如果我不清楚,请告诉我。)
答案 0 :(得分:1)
您必须将整个管道放在命令替换中。
result=$(mysql -u user -pWrongpass -sN "query to select from db;" 2>&1 |
tee -a log)
由于mysql
的输出通过管道传送到tee
,因此您需要在tee
中捕获result
的输出。