这是脚本。它反转用户输入的字符串:
#!/bin/bash
read -p "Enter string:" string
len=${#string}
for (( i=$len-1; i>=0; i-- ))
do
# "${string:$i:1}"extract single single character from string.
reverse="$reverse${string:$i:1}"
done
echo "$reverse"
我不明白脚本的以下部分。这是什么?看起来像是某种扩展变量插值。
${string:$i:1}
最佳答案
在 bash 中做这样的事情:${string:3:1} 意味着:从 pos 3 处的字符(从 0 开始,因此是第 4 个字符)开始获取子字符串,并且长度 = 1 个字符。
例如:
string=abc
那么 ${string:0:1} 等于 a
并且 ${string:2:1} 等于 c
。
此脚本采用变量 $i
的值:因此它只采用位置 $i
处的字符。
关于linux - Bash: ${string:$i:1} 这是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23951146/