我正在使用 Azure App Service Kudu Shell 创建一个名为 applicationHost.xdt 的文件。由于我无法上传文件,我使用以下链式 shell 命令来生成它:
echo "<?xml version=\"1.0\"?>" > applicationHost.xdt && echo "<configuration xmlns:xdt=\"http://schemas.microsoft.com/XML-Document-Transform\"> " >> applicationHost.xdt && echo " <system.webServer>" >> applicationHost.xdt && echo " <runtime xdt:Transform=\"InsertIfMissing\">" >> applicationHost.xdt && echo " <environmentVariables xdt:Transform=\"InsertIfMissing\">" >> applicationHost.xdt && echo " <add name=\"FOO\" value=\"BAR\" xdt:Locator=\"Match(name)\" xdt:Transform=\"InsertIfMissing\" />" >> applicationHost.xdt && echo " <add name=\"PATH\" value=\"%PATH%;%HOME%\BAR\" xdt:Locator=\"Match(name)\" xdt:Transform=\"InsertIfMissing\" />" >> applicationHost.xdt && echo " </environmentVariables>" >> applicationHost.xdt && echo " </runtime>" >> applicationHost.xdt && echo " </system.webServer>" >> applicationHost.xdt && echo "</configuration>" >> applicationHost.xdt
本质上,只需使用 echo 命令逐行编写文件。这在 bash 和 zsh 本地都可以正常工作。
运行后
echo "${BASH_VERSION}"
在终端上,我得到响应“4.4.12(1)-release”。我不确定版本是否不正确。我从 shell 得到的错误消息(运行完整命令时)是:
version="1.0"?> > applicationHost.xdt && echo <configuration: ?xml: No such file or directory
当我尝试运行命令的第一部分(echo "" > applicationHost.xdt)时,我收到以下消息:
version="1.0"?> > applicationHost.xdt && echo '' && pwd: ?xml: No such file or directory
我认为这与引号/程序无法识别转义字符有关,但除此之外我不确定。