Вот еще один метод, использующий uname
.
От man uname
:
...
-i, --hardware-platform
распечатать аппаратную платформу или "неизвестно"
...
# uname -i
x86_64
#
if type emulate >/dev/null 2>/dev/null; then emulate ksh; fi
В zsh это активирует параметры, которые делают его более совместимым с ksh и bash, включая sh_word_split
. В других оболочках emulate
не существует, поэтому ничего не делает.
Если не боитесь использовать eval (= evil):
x="one two three"
eval "x=($x)"
for i in ${x[@]}; do
echo $i
done