エコーを介して変数を自分に再割り当てする目的は何ですか?

エコーを介して変数を自分に再割り当てする目的は何ですか?

レビュー中に、echoを使用して変数を自分自身に再割り当てするいくつかのbashコードを見つけました。変数は配列です。このコードはデフォルトで変数を自分に割り当てます`echo $a`

a=(one two three)
a=`echo $a`

これの目的は何ですか?

ベストアンサー1

配列の最初の要素を切り捨てます。

a=( ' one ' two three )
a=$(echo $a)
echo "<$a>"

出力:

<one>

さまざまな参照の組み合わせを使用できます。

#! /bin/bash
for i in {1..4} ; do 
    a=( $' one \n * two ' three four )
    case $i in
        (1) a=$(echo $a)     ;;
        (2) a=$(echo "$a")   ;;
        (3) a="$(echo $a)"   ;;
        (4) a="$(echo "$a")" ;;
    esac
    echo "<$a>"
done

しかし基本的には

a[0]=...

配列の最初の要素を割り当てたい場合

echo "${a[0]}"

最初の要素を出力したい場合。

おすすめ記事