我试图通过read命令迭代作为输入的字符串.我正在尝试输出每个字母和每个字母的数量然后应该使用循环依次输出每个字母.例如,如果用户输入"picasso",则输出应为:
信1:p信2:我信3:c信4:信5:信6:信7:o
这是我目前的代码:
#!/bin/bash
# Prompt a user to enter a word and output each letter in turn.
read -p "Please enter a word: " word
for i in $word
do
 echo "Letter $i: $word"
done
我应该将输入放入数组吗?我仍然是编程循环的新手,但我发现无法弄清楚逻辑.
有什么建议?谢谢.
oli*_*liv 11
结合dtmilano和patrat的答案会给你:
read -p "Please enter a word: " word
for i in $(seq 1 ${#word})
do
 echo "Letter $i: ${word:i-1:1}"
done
$ {#word}为您提供字符串的长度.
小智 2
查看 bash 中的 seq 机制
例如:
seq 1 10
会给你
1 2 3 4 5 6 7 8 9 10
你可以尝试用字母
echo {a..g}
结果
 a b c d e f g
现在你应该处理你的问题