您的位置:首页 > 运维架构 > Shell

shell数组

2016-02-16 17:06 615 查看
group='www_wwwhuidu_'
echo"*********************"
foriin$group
do
echo"*$a,$i组"
list2[$a]=$i
a=`expr$a+1`
done
echo"*$a,其他"
echo"*********************"
i=0
read-p"请输入编号:"number
if["$number"==""];then
ip
fi
}

functionip(){
whiletrue
do
menu
if["$number"=="$a"];then
group2=`echo$group|sed's//|^/g'`
foripin`awk-F',''{print$2"---"$7"---"$8}'ip.csv|sed's/\"//g'|sort|egrep-v"$group2"`
do
ip_list=`echo$ip|awk-F'---''{print$2}'`
list[$i]=$ip_list
echo"($i)$ip"
i=`expr$i+1`
done
echo"($i)回上一级"
else
foripin`awk-F',''{print$2"---"$7"---"$8}'ip.csv|sed's/\"//g'|sort|grep${list2[$number]}`
do
ip_list=`echo$ip|awk-F'---''{print$2}'`
list[$i]=$ip_list
echo"($i)$ip"
i=`expr$i+1`
done
echo"($i)回上一级"
fi
read-p"输入编号:"number
if["$number"=="$i"]||["$number"==""];then
ip
fi
expectexp/sshlogin.exp${list[$number]}passport22salt1
done
}

ip

[root@localhostsaltnew]#catip.csv
"实例ID","名称","主机名","描述","Region名称","所在可用区","公网IP","内网IP","CPU","内存","付费类型","网络类型","带宽","创建时间(UTC)","到期时间(UTC)"
"i-23lw8l8kk","beta_bbs","xxx","","cn-hangzhou","cn-hangzhou-b","1.1.1.1","10.1.1.1","8","8192","包年包月","经典网络","1","2016-01-11T02:00Z","2016-02-11T16:00Z"


#!/usr/bin/expect
setip[lindex$argv0]
setpass[lindex$argv1]
setport[lindex$argv2]
setuser[lindex$argv3]
setid_dsa[lindex$argv4]

if{$id_dsa=="1"}{setid"exp/wdzj_key";seti"-i"
spawnssh$i$id-p$port$user@$ip
expect{
"*(yes/no)?"{send"yes\r";exp_continue}
"*password:"{send"$pass\r"}
"*wdzj_key':"{send"$pass\r"}
}
}
if{$id_dsa=="0"}{
spawnssh-p$port$user@$ip
expect{
"*(yes/no)?"{send"yes\r";exp_continue}
"*password:"{send"$pass\r"}
}
}
interact




这一例子想表示的就是shell数组的使用方法及用途!
效果如下:

*********************
*0,www_组
*1,wwwhuidu_组
*21,其他
*********************
请输入编号:


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: