/opt/mysql/bin/mysqldump -udbuser -pAdmin@123 -h192.167.93.44 -P32083 --single-transaction --set-gtid-purged=OFF --databases mohwscdrdb mohwsecsdb moresourcelifecycledb moorderdb movdcservicedb > ./backup.sql 2>&1 | grep -v "Warning"这就像我想的那样运行,没有“警告:使用密码” blablabla。
但当我执行:
/opt/mysql/bin/mysql -udbuser -pAdmin@123 -h192.167.93.44 -P32083 < ./backup.sql 2>&1 | grep -v "Warning"为了在没有警告的情况下返回sql文件,它失败了,它说:
/' at line 1我认为这是因为我将的两个不同的重定向方向 (<和>)放在一行中,但是如何解决这个问题呢?
发布于 2018-09-27 05:23:28
2>&1将两个文件描述符连接在一起。您只想在stderr上使用grep,所以通过使用‘AC.26&’,只有stderr才会转到grep。
因此,在倾销方面:
/opt/mysql/bin/mysqldump ... movdcservicedb > ./backup.sql |& grep -v "Warning"发布于 2018-09-28 01:11:07
/opt/mysql/bin/mysqldump -udbuser -pAdmin@123 **> ./backup.sql** 2>&1 | grep -v "Warning"更改命令,将重定向部分移到命令的末尾,就可以完成任务。
/opt/mysql/bin/mysqldump -udbuser -pAdmin@123 2>&1 | grep -v "Warning" **> ./backup.sql**顺便说一句,导入sql应该将< ./backup.sql 保持在命令的中间。
/opt/mysql/bin/mysql -udbuser -pAdmin@123 < ./backup.sql 2>&1 | grep -v "Warning"https://stackoverflow.com/questions/52529314
复制相似问题