我正在尝试编写一个简单的脚本来从主机列表中检索内存和交换使用情况。目前,我能够实现这一目标的唯一方法是编写 3 个单独的脚本:
for a in {1..9}; do echo "bvrprdsve00$a; $(ssh -q bvrprdsve00$a "echo \$(free -m|grep Mem|/bin/awk '{print \$4}';free -m|grep Swap|/bin/awk '{print \$4}')")"; done > /tmp/svemem.txt;
for a in {10..99}; do echo "bvrprdsve0$a; $(ssh -q bvrprdsve0$a "echo \$(free -m|grep Mem|/bin/awk '{print \$4}';free -m|grep Swap|/bin/awk '{print \$4}')")"; done >> /tmp/svemem.txt;
for a in {100..218}; do echo "bvrprdsve$a; $(ssh -q bvrprdsve$a "echo \$(free -m|grep Mem|/bin/awk '{print \$4}';free -m|grep Swap|/bin/awk '{print \$4}')")"; done >> /tmp/svemem.txt
Run Code Online (Sandbox Code Playgroud)
这样做的原因是主机名总是以 3 位数字结尾,而这些主机从 001-218 开始,所以我需要为每组 (001-009、010-099、100-218) 执行不同的 for …