简体   繁体   English

无法将mysql命令输出重定向到bash脚本中的文件

[英]trouble redirecting mysql command output to file in bash script

for some reason, bash script doesn't redirect output of mysql command in following snippet to designated file. 由于某些原因,bash脚本不会将以下代码片段中mysql命令的输出重定向到指定文件。

#!/usr/bin/bash

cmd="select * from foo > '/tmp/sample.txt'"
mysql --user=test --password=test <db name> --host=<hostname> --port=<portname> -e "$CMD"

above script redirect output to console instead of file 上面的脚本将输出重定向到控制台而不是文件

 #!/usr/bin/bash

    cmd="select * from foo INTO OUTFILE '/tmp/sample.txt' "
    mysql --user=test --password=test <db name> --host=<hostname> --port=<portname> -e "$CMD"

when I replace ">" redirection operator with "INTO OUTFILE", I'm getting Access permission error 当我将“>”重定向操作符替换为“ INTO OUTFILE”时,出现访问权限错误

What if you move the redirection operator ( > ) out of the quotation marks? 如果将重定向操作符( > )移出引号怎么办?

cmd="select * from foo"
mysql --user=test --password=test <db name> --host=<hostname> --port=<portname> -e "$cmd" > /tmp/sample.txt

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM