2017-09-29 4 views
0

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)" 

最初1つ動作します。 -nを使用すると、次のエラーが表示されます。

az: error: unrecognized arguments: –n MyResourceGroup

しかし、私はコマンドが-nパラメータで動作することを知っています。 "$()"の中で使用する場合は、1つのダッシュをエンコードする必要がありますか?それ以外の理由でそれを受け入れないのですか?

+1

をあなたはbashのスクリプトを書くために、マイクロソフトの製品を使用していますか? '-'!=' -' – Cyrus

答えて

2

ハイフンマイナス-(U + 002D)の代わりにハイフンのを使用しているようです。これらは異なる文字です。 Bashや他のUNIX風のシェルは、ダッシュを共通のcharとして扱います。オプションの開始ではありません。 すでに書かれたスクリプトファイルがたくさんあるし、そこにいくつかのダッシュの代わりに、マイナスならば、あなたはあなたが慎重にあなたのスクリプトをチェックすることができ

sed -i 's/–/-/g' your-script-file 
0

のようなコマンドを使用してそれらを自動的に変換することができますがわからない場合。 –n–nとは異なります。 Azure Cloud Shellでは、その違いを明確に見ることができます。

enter image description here

以下のようにスクリプトを変更します。

GROUPEXISTS2="$(az group exists -n MyResourceGroup)" 
関連する問題