由于某种原因,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"
以上脚本将输出重定向到控制台而不是文件
#!/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"
当我更换“&gt;”使用“INTO OUTFILE”重定向运算符,我收到了访问权限错误
答案 0 :(得分:5)
如果将重定向运算符(>
)移出引号,该怎么办?
cmd="select * from foo"
mysql --user=test --password=test <db name> --host=<hostname> --port=<portname> -e "$cmd" > /tmp/sample.txt