【问题标题】:Azure bash CLI support for while and doAzure bash CLI 支持 while 和 do
【发布时间】:2017-09-26 21:47:07
【问题描述】:

我正在尝试编写一个解析传递给脚本的参数的 bash 脚本:

while [[ $# -gt 0 ]]
do
        case $1 in
        -n|--name)
                VMNAME="$2"
                shift
                shift
        ;;
        -a|--admin-user)
                ADMINUSERNAME="$2"
                shift
                shift
        ;;
        -l|--location)
                LOCATION="$2"
                shift
                shift
        ;;
        -g|-resource-group)
                RESOURCEGROUPNAME="$2"
                shift
                shift
        ;;
        -a|--availability-set)
                AVAILABILITYSETNAME="$2"
                shift
                shift
        ;;
        *)    # unknown option
                echo unknwon "$1"
                shift # past argument
        ;;
        esac
done

echo "vn name = "
echo $VMNAME
echo "Admin User = " $ADMINUSERNAME
echo "Location = " $LOCATION
echo "Resource Group = " $RESOURCEGROUPNAME
echo "Availability Set = " $AVAILABILITYSETNAME

如果我 ssh 进入我的 Linux 虚拟机并运行脚本,这会很好。如果我尝试从 Azure CLI 执行脚本,我会收到以下错误:

myaccount@Azure:~/clouddrive$ bash test.bash -n test
test.bash: line 1: syntax error in conditional expression
'est.bash: line 1: syntax error near `]]
'est.bash: line 1: `while [[ $# -gt 0 ]]

就编程语言支持而言,Azure CLI 与 Linux bash shell 有何不同? Azure bash CLI 支持哪些编程结构和流控制?

【问题讨论】:

    标签: azure azure-cli azure-cli2


    【解决方案1】:

    我在我的实验室进行测试并重现您的错误:

    我们应该把Windows (CR LF)改成Unix (LF),然后上传到这个shell。

    【讨论】:

    • 新错了!谢谢!
    【解决方案2】:

    据我所知,云控制台(Azure 门户上的 shell)只是在后台的容器中运行一个 bash 实例。换句话说,没有区别。如果我尝试完全按照您上面提供的方式运行脚本,我会得到预期的结果...

    ~/clouddrive$ bash test.bash -n funky
    vn name =
    funky
    Admin User =
    Location =
    Resource Group =
    Availability Set =
    

    您的脚本中是否有可能出现行尾不正确的情况?

    【讨论】:

      猜你喜欢
      • 2020-07-02
      • 2013-12-01
      • 2013-05-05
      • 2011-12-16
      • 2015-07-03
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 2015-05-24
      相关资源
      最近更新 更多