bash循环遍历字符串中的所有字符

Sve*_*art 2 bash shell

我应该如何遍历字符串中的所有字符。

我的伪代码

stringVar="abcde"

for var in stringvar
{
   do some things with var
}
Run Code Online (Sandbox Code Playgroud)

结果我需要
一个

C

d

我想循环所有的变量,但我只能让它与一个空格分割的变量一起工作,比如

 stringVar="a b c"


for var in stringVar; do
   echo $var
done;
Run Code Online (Sandbox Code Playgroud)

结果

一种

C

但我不能为一个没有用空格分割的字符串做这件事。

该问题被标记为重复,但在链接的问题中没有一个答案(带有赞成票)可用。

hek*_*mgl 7

你可以使用read

string="abcde"
while read -n 1 char ; do
    echo "$char"
done <<< "$string"
Run Code Online (Sandbox Code Playgroud)

使用-n 1 read将一次读取一个字符。但是,输入重定向<<<会在$string.