Answers:
使用换行符作为默认分隔符:
read -a array -p "enter variables: "
如果您想要换行符以外的其他字符,例如y
:
read -a array -d y -p "enter variables: "
您只能使用单个字符作为定界符read
。
编辑:
与ok
定界符一起使用的解决方案:
a=
delim="ok"
printf "enter variables: "
while [ "$a" != "${a%$delim}${delim}" ]; do
read -n1 # read one character
a="${a}${REPLY}" # append character
done
array=(${a%$delim}) # remove "ok" and convert to array
unset a delim # cleanup
echo # add newline for following output
注意:此版本还接受格式的输入3 4 7 8ok
(不带最后一个空格字符),但是使用特殊字符(例如Del或Backspace不起作用)进行行编辑。它们被视为原始输入。
echo "${array[@]}"
。与一起,$array
您将获得第一个价值${array[0]}
。
ok
似乎并不重要,它是留在数组中。
y
“特定内容”(ok
),则执行此操作。
ok
分隔符的版本。
echo $array
我的bash进行测试,它只返回第一个值。