シェルスクリプトにおける${p:2:1}の意味

シェルスクリプトにおける${p:2:1}の意味

${p:2:1}誰もが次のシェルスクリプトでこれが何を意味するのか教えてもらえますか?

var1=""
for p in [1,2,3,4]
do
    var1="${var1} ${p:2:1}"
done

ベストアンサー1

これはパラメータ拡張(Bashマニュアル)、特に次の形式:

${parameter:offset:length}

これを「サブストリング拡張」と説明します。文字をoffset見つける場所(0から始まる)から変数から文字を抽出しますlength。あなたの場合は、${p:2:1}3番目の文字を抽出します。

例:

$ p=abcd
$ echo "${p:2:1}"
c

おすすめ記事