我正在尝试在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并尝试命令并且工作正常。如果您对此有任何经验,请提供建议。任何帮助表示赞赏!谢谢
答案 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"