📅  最后修改于: 2023-12-03 15:29:35.304000             🧑  作者: Mango
在 Shell/Bash 编程中,有时需要从字符串中选取一个子字符串,可以使用子字符串测试来完成。
子字符串测试语法为:${变量名:起始位置:子字符串长度}
其中,起始位置从 0 开始计数,子字符串长度可以省略,如果省略则表示选取从起始位置至字符串末尾的所有字符。
例如,对于一个变量 $str="Hello, world!"
,要选取字符串中的子字符串 world
,可以使用以下语句:
echo ${str:7:5} # 输出:world
如果省略子字符串长度,可以使用以下语句:
echo ${str:7} # 输出:world!
除了使用数字来指定起始位置和子字符串长度之外,还可以使用负数来指定从字符串末尾开始计数的位置。
例如,要选取字符串中的子字符串 world
,可以使用以下语句:
echo ${str:(-7):5} # 输出:world
如果省略子字符串长度,可以使用以下语句:
echo ${str:(-7)} # 输出:world!
此外,还可以将起始位置和子字符串长度定义为变量,例如:
start=7
length=5
echo ${str:$start:$length} # 输出:world
以上就是 Bash 子字符串测试的基本知识,可以根据具体需要灵活运用。