shell 拆分字符串成數組 放入數組


#!/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 , 是一個數組 , 不是一個字符串了 ,支持一個個取出操作 ,經確認 , 只需要把用空格拆分
的字符串 , 放入括號中 , 自動轉為數組 .

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM