exec任务中的`<`字符正在破坏我的Phing构建脚本

时间:2009-09-24 23:36:15

标签: mysql phing

我正在尝试在Phing中设置一个mysql导入脚本,但是“<”导致XML错误。有什么想法吗?

<exec command="mysql -u${mysql.username} -p${mysql.password} -h ${mysql.server} ${mysql.database} < ${sql.file}" />

我正在考虑让dbDeploy这样做,但如果有一种简单的方法可以解决这个问题(单行命令与dbDeploy的多行设置相比),那就太棒了

2 个答案:

答案 0 :(得分:8)

通过将其替换为&lt;

来逃避角色

答案 1 :(得分:3)

我不熟悉Phing,但它可能没有在shell中执行命令,因此重定向运算符将无法工作(它可能将运算符视为mysql本身的参数)。

而不是< ${sql.file},请尝试-e 'source ${sql.file}',所以整行都是:

<exec command="mysql -u${mysql.username} -p${mysql.password} -h ${mysql.server} ${mysql.database} -e 'source ${sql.file}'" />

请参阅MySQL batch mode documentation