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

How to run multiple command line in Azure Pool start task

我正在尝试 运行 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 并尝试该命令并且它有效。如果您对此有任何经验,请提出建议。任何帮助表示赞赏!谢谢

您应该以 /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"