#!/bin/bash a="node1 node2 node3 node4 node5" OLD_IFS="$IFS" IFS=" " arr=($a) IFS="$OLD_IFS" for s in ${arr[@]} do echo "$s" done
第二種: 用awk
a="node1 node2 node3 node4 node5"
arr=(`echo ${a}|awk '{len=split($0,a,",");for(i=1;i<=len;i++) print a[i]}'`)
for item in ${arr[*]}
do
echo $item
done
#此時的arr 就是一個數組 , a 是我們傳入的參數 ,可自己預先定義
arr=(`command`) 其實就是執行完命令 的結果變成一個數組 , 就相當於下了好多蛋 , 放入一個籃子數組匯總

大道至簡的方法 , 比如一長串 IP hostname的字符串
ipaddr="node1 node2 node3 node4 node5 node6" iparr=($ipaddr)
此時的 iparr , 是一個數組 , 不是一個字符串了 ,支持一個個取出操作 ,經確認 , 只需要把用空格拆分
的字符串 , 放入括號中 , 自動轉為數組 .
