我希望能够将输入分解为多个字符。例如,我希望能够将“Hello World”分解为h,e,l,l,o,[space],w,o,r,l,d。我正在尝试在我的Raspberry Pi上创建一个Morse Code翻译器,如果我可以只进行单独的字符翻译而不必编码整个单词的翻译,那么这将节省我很多时间。这可能吗?对不起,如果我听起来我不知道我在说什么,因为我有点不喜欢。
答案 0 :(得分:2)
你为什么要使用Bash?您可以使用Python或Ruby,使其更简单。 Bash并不是为你正在做的事情而设计的。
如果你必须使用Bash,我会小心相信Bash在嵌入式系统上可用,这是一种方法(参见How to perform a for loop on each character in a string in BASH?了解更多信息):
#!/bin/bash
my_string="hello world"
for (( i=0; i<${#my_string}; i++ )); do
echo "${my_string:$i:1}"
done
exit 0
用于处理字符串和数组的一些Bash资源:
学习Python和/或Ruby:
答案 1 :(得分:1)
x是你的字符串 y是生成的字符数组
i=0
while [ $i -lt ${#x} ]; do y[$i]=${x:$i:1}; i=$((i+1));done