コマンド置換の追加の角かっこ

コマンド置換の追加の角かっこ

一部の著者は、コマンド置換に追加の括弧を追加したことを確認しました。次のスニペットを検討してください。

$ var1=$(uname -r)
$ echo $var1
5.3.0-26-generic

次のように書くとどのような違いがありますか?

$ var1=($(uname -r))
$ echo $var1
5.3.0-26-generic

より多くの文脈を説明するために、以下を確認しました。ここ 、彼が書いたとき:

COMPREPLY=($(compgen -f -X "$xpat" -- "${word}"))

ベストアンサー1

追加の括弧の意味は、初期化することです。ソートバッシュから。uname -r単一の単語で構成される出力を処理するには大きな違いはありませんが、COMPREPLYこの点は非常に重要です。

直接確認できます。

var1=($(uname -a))
echo $var1
echo ${var1[@]}

おすすめ記事