bash脚本automysql将大于字符视为表名

bash脚本automysql将大于字符视为表名,mysql,bash,Mysql,Bash,上述操作引发以下异常: mysqldump:找不到表:“>” “&1>”也被视为表名 我尝试了选项-所有数据库,但也不起作用 谢谢 您不能在命令中转义大于: CMD="mysqldump -usomeuser -psomepass db_name \> /../SQL_$(date +'%m-%d-%Y').sql" 即使如此,如果您试图通过调用命令来执行该命令,bash也会将大于视为一个位置参数。您可以通过调用sh或bash来执行它: CMD="mysqldump -usomeuser

上述操作引发以下异常:

mysqldump:找不到表:“>”

“&1>”也被视为表名

我尝试了选项-所有数据库,但也不起作用


谢谢

您不能在命令中转义大于:

CMD="mysqldump -usomeuser -psomepass db_name \> /../SQL_$(date +'%m-%d-%Y').sql"
即使如此,如果您试图通过调用命令来执行该命令,bash也会将大于视为一个位置参数。您可以通过调用sh或bash来执行它:

CMD="mysqldump -usomeuser -psomepass db_name > /../SQL_$(date +'%m-%d-%Y').sql"

使用\>进行简单转义也被视为表名。谢谢!字符串“CMD”是如何执行的?是否可以在bash脚本中直接执行该语句?我最初没有跳过大于符号,仍然存在相同的问题。请看我在原始帖子后的第一条评论。我将在几周后再次访问。我可能会放弃bash语言,转而使用PHP5的PERL。如果这个帖子没有关闭,我会用我的进度更新它。
bash -c "$CMD"