${p:2:1} 在 shell 脚本中的含义

${p:2:1} 在 shell 脚本中的含义

谁能告诉我 shell 脚本中的含义,${p:2:1}如下所示:

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

答案1

这是一个参数扩展(Bash 手册),特别是以下形式:

${parameter:offset:length}

这被描述为“子串扩展”。它从变量中提取字符,从 处offset(从零开始)开始查找length字符。在您的情况下,${p:2:1}提取第三个字符。

例子:

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

答案2

那是一个子串。它从字符串的第二个字符(从 0 开始计数)中取出p长度为 1 的子字符串。

相关内容