如何在Azure池启动任务中运行多个命令行

时间:2018-03-21 03:29:11

标签: azure command-line azure-batch

我正在尝试在Azure Batch节点启动任务中运行此命令行

sudo wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm" && sudo yum localinstall jdk-8u161-linux-x64.rpm -y

但是,它总是因日志文件中的这种错误而失败

Usage: wget [OPTION]... [URL]...

Try `wget --help' for more options.

看起来它并不理解&&运营商。我已经通过ssh远程登录VM并尝试命令并且工作正常。如果您对此有任何经验,请提供建议。任何帮助表示赞赏!谢谢

1 个答案:

答案 0 :(得分:5)

您应该使用/bin/bash -c启动命令,然后将命令放在双引号中,转义内部双引号。

这样的事情应该有效: /bin/bash -c "sudo wget --no-cookies --no-check-certificate --header \"Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie\" \"http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.rpm\" && sudo yum localinstall jdk-8u161-linux-x64.rpm -y"