linux 的 Azure 扩展脚本
Azure Extension script for linux
我正在尝试通过使用 Linux 的 Azure 自定义扩展脚本使用“&&”分隔每个命令来执行多个 shell 脚本。
ARM 模板是部署模型。
示例代码段:
"settings": {
"fileUris": "[script1,script2, script3]",
"commandToExecute": "sh script1.sh && sh scrip2.sh && sh script3.sh"
}
但只有第一个脚本执行,其他两个脚本不执行。
注意:脚本日志路径中也没有错误。我也看到所有下载的脚本都在 waagent 文件夹路径中。
任何帮助都将非常有用。
操作系统:Linux
如果您有多个脚本,您可以编写一个调用依赖脚本的入口点脚本,然后将入口点脚本、依赖脚本和任何其他依赖二进制文件上传到脚本位置(Azure 存储 blob 或 GitHub)。您可以使用以下格式来确保上传多个文件:“fileUris” : [“ScriptFileUri1”, “ScriptFileUri2”, "ScriptFileUri3"]
更多信息请参考此link。
如果您想将 script1.sh 设置为入口点脚本,您可以编辑如下脚本:
##script in scrpit1.sh
echo "hello world"
##call script2.sh
./script2.sh
##call script3.sh
./script3.sh
ARM 模板代码段
cmdToExecute = script1.sh param1 param2 && script2.sh param1 param2 && script3.sh 作为字符串传递给包装脚本,如
"commandToExecute" : "[concat('sh script_executor.sh \"', parameters('cmdToExecute') '\"')]"
script_executor.sh -- 将所有命令作为参数,执行每条命令
我正在尝试通过使用 Linux 的 Azure 自定义扩展脚本使用“&&”分隔每个命令来执行多个 shell 脚本。
ARM 模板是部署模型。
示例代码段:
"settings": {
"fileUris": "[script1,script2, script3]",
"commandToExecute": "sh script1.sh && sh scrip2.sh && sh script3.sh"
}
但只有第一个脚本执行,其他两个脚本不执行。
注意:脚本日志路径中也没有错误。我也看到所有下载的脚本都在 waagent 文件夹路径中。
任何帮助都将非常有用。
操作系统:Linux
如果您有多个脚本,您可以编写一个调用依赖脚本的入口点脚本,然后将入口点脚本、依赖脚本和任何其他依赖二进制文件上传到脚本位置(Azure 存储 blob 或 GitHub)。您可以使用以下格式来确保上传多个文件:“fileUris” : [“ScriptFileUri1”, “ScriptFileUri2”, "ScriptFileUri3"]
更多信息请参考此link。
如果您想将 script1.sh 设置为入口点脚本,您可以编辑如下脚本:
##script in scrpit1.sh
echo "hello world"
##call script2.sh
./script2.sh
##call script3.sh
./script3.sh
ARM 模板代码段
cmdToExecute = script1.sh param1 param2 && script2.sh param1 param2 && script3.sh 作为字符串传递给包装脚本,如
"commandToExecute" : "[concat('sh script_executor.sh \"', parameters('cmdToExecute') '\"')]"
script_executor.sh -- 将所有命令作为参数,执行每条命令