如果我从Azure CLI运行此命令,我会得到一个真假,具体取决于资源组是否确实存在。效果很好。
az group exists –n MyResourceGroup
它也适用于这种形式:
az group exists –n MyResourceGroup
如果在bash脚本中我尝试将变量设置为这些命令的输出:
GROUPEXISTS1="$(az group exists --name MyResourceGroup)"
GROUPEXISTS2="$(az group exists –n MyResourceGroup)"
只有第一个有效。当我使用-n时,我收到以下错误:
az:错误:无法识别的参数:-n MyResourceGroup
但是我知道该命令与-n参数一起使用。在#34; $()"中使用时,是否需要对单个短划线进行编码?为什么不接受这种形式?
答案 0 :(得分:2)
看起来您的编辑器用短划线-
替换了连字符减号–
(U + 002D)。这些是不同的字符。 Bash和其他类似unix的shell将dash视为常见字符,而不是选项的开头。
如果你有很多已编写的脚本文件,并且不知道是否有一些破折号而不是减号,你可以使用像
sed -i 's/–/-/g' your-script-file
答案 1 :(得分:0)