${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
答え2
それは部分文字列です。文字列の2番目の文字(0から計算)では、p
長さ1の部分文字列を使用します。