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

Sid*_*ari 1 bash string shell-script variable-substitution

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

var1=""
for p in [1,2,3,4]
do
    var1="${var1} ${p:2:1}"
done
Run Code Online (Sandbox Code Playgroud)

Jef*_*ler 8

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

${parameter:offset:length}
Run Code Online (Sandbox Code Playgroud)

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

例子:

$ p=abcd
$ echo "${p:2:1}"
c
Run Code Online (Sandbox Code Playgroud)

  • 很高兴听到,悉达多!欢迎来到本站。不要忘记参加我们的 [tour](https://unix.stackexchange.com/tour) 以获得徽章,然后花点时间吸收您问题的答案并接受您认为是最佳解决方案的答案. 这有助于 U&L 系统将“已回答”与“未回答”问题分开。谢谢! (2认同)