将 az cli 传递给 bash 脚本的 azure 自定义扩展脚本

azure custom extension script passing az cli to bash script

我正在尝试将参数从 arm 模板自定义脚本扩展传递到 bash 脚本 az login -u azUsername -p azPassword

我不确定如何将这些值传递给 sh 脚本并且它不断失败

"commandToExecute": {
                    "value": "[concat('sh samplebash.sh',' ',parameters('azUsername'),' ',parameters('azPassword'))]"
                }

bash 脚本:

#!/bin/bash
echo "$azUsername"
echo "${azUsername}"
echo azUsername
echo $azUsername
echo hello

需要一些帮助来获取 bash 脚本中的值 提前致谢

您可以像这样使用变量来设置 commandToExecute

"executeCommand": "[concat('sh samplebash.sh', ' ', parameters('azUsername'), ' ', parameters('azPassword'))]"

然后你可以这样设置扩展名:

"commandToExecute": "[variables('executeCommand')]"

或者你可以直接这样设置扩展名:

"commandToExecute": "[concat('sh samplebash.sh', ' ', parameters('azUsername'), ' ', parameters('azPassword'))]"

并且在脚本中,你应该做一些改变,有两种方法。

第一个:

#!/bin/bash

echo "azUsername:"
echo "azPassword:"

第二个:

#!/bin/bash

azUsername=
azPassword=
echo $azUsername
echo $azPassword

顺便说一句,我认为当你在脚本中使用#!/bin/bash时,你最好使用命令bash script.sh来执行脚本。在某些 Linux 发行版中,shbash.

不是同一个命令