shell 变量中包含变量

#!/bin/bash

USER=test
list=(openvpn docker mysql redis)
l=${list[*]}
for i in $l
do
eval RSS_$i=$(ps -aux | grep ${USER} | grep $i | grep -v grep | awk '{print $6}' | awk 'BEGIN{a=0}{a=a+$1}END{print a}')
eval echo \${RSS_$i}
eval RSS_$i_G=$(echo $(eval echo \${RSS_$i})/1024/1024 | bc)
eval echo \${RSS_$i_G}
if eval [[ \${RSS_$i_G} -gt 12 ]]
then
echo "WARNING: MEMORY used by $i is more than 12G"
elif eval [[ \${RSS_$i_G} -lt 1 ]]
then
echo "MEMORY used by $i is less than 1G"
else eval echo "MEMORY used by $i is \${RSS_$i_G}G"
fi
done
fi
done

上面是一个shell脚本,用来统计test用户运行的4个服务占用的内存RSS值,超过阈值触发警告。

1.赋值时使用eval

2.输出变量时变量前加\

3.给出了变量计算的一种方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值