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

shell两个变量调用方法

2013-08-02 11:37 183 查看
[root@VM_163_107 /data/script/shell]# cat listen_monitor.sh
#!/bin/sh
#set -x
pid1=`ps -ef|grep QD|grep -v grep |awk '{print $14}'|grep QWorld`
pid2=`ps -ef|grep QD|grep -v grep |awk '{print $14}'|grep QDBProxy`
pid3=`ps -ef|grep QD|grep -v grep |awk '{print $14}'|grep QGameServer`
pid4=`ps -ef|grep QD|grep -v grep |awk '{print $14}'|grep QGateway`
pid5=`ps -ef|grep QD|grep -v grep |awk '{print $14}'|grep QCommunity`
DC_PATH=/usr/local/services/CloudDCAgent_L5-1.0/alarm
for i in {1..5}
do
a=pid
eval pidname="$"$a$i
#echo $pidname
if [ -z pid$i ]
then
$DC_PATH/cloud_alarm 100697808 "the rpgserver is down" -o rpgserver
echo $pidname "The process of death, to save it,now"
else
echo "everything is ok" >/dev/null 2>&1
fi
done
使用eval进行两个变量同时调用
a=pid
eval b="$"$a$i
echo $b

第二种调用方式
for i in $pid{1..5}
$i =pid1 pid2 pid3 pid4 pid5
#!/bin/sh
#set -x
pid1=`ps -ef|grep QD|grep -v grep |awk '{print $14}'|grep QWorld`
pid2=`ps -ef|grep QD|grep -v grep |awk '{print $14}'|grep QDBProxy`
pid3=`ps -ef|grep QD|grep -v grep |awk '{print $14}'|grep QGameServer`
pid4=`ps -ef|grep QD|grep -v grep |awk '{print $14}'|grep QGateway`
pid5=`ps -ef|grep QD|grep -v grep |awk '{print $14}'|grep QCommunity`
DC_PATH=/usr/local/services/CloudDCAgent_L5-1.0/alarm
for i in $pid{1..5}
do
echo $i
done
~


淘宝小店-运维学习参考资料
http://shop62632578.taobao.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell