在Bash中分解输入

时间:2013-12-27 20:50:10

标签: bash input character raspberry-pi break

我希望能够将输入分解为多个字符。例如,我希望能够将“Hello World”分解为h,e,l,l,o,[space],w,o,r,l,d。我正在尝试在我的Raspberry Pi上创建一个Morse Code翻译器,如果我可以只进行单独的字符翻译而不必编码整个单词的翻译,那么这将节省我很多时间。这可能吗?对不起,如果我听起来我不知道我在说什么,因为我有点不喜欢。

2 个答案:

答案 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

Bash: Split string into character array