我想在 Solaris 11 上编写一个 line 来检查我系统的每个 zpool 中的空间。输出看起来像这样......
myzone1 rpool 83%
myzone2 rpool 49%
我读过的所有帖子都说使用 -v 开关将 shell 变量传递给 awk。
每次我尝试都会出错。
这段代码有效。我得到了池和使用的百分比。
for i in `zoneadm list -icv|grep running|awk '{print $2}'`; do
zlogin $i zpool list -H|awk '{print $1" "$5}';
done
我想将区域名称添加到此报告输出中。这段代码对我不起作用!
for i in `zoneadm list -icv|grep running|awk '{print $2}'`; do
zlogin $i zpool list -H|awk -v i="$i" '{print i" "$1" "$5}';
done
你能帮我找出我哪里出错了吗?
答案1
感谢这个评论:
有关的:Solaris 11 上的 POSIX awk–马克·普洛特尼克
我将代码重写为:
for i in `zoneadm list -icv|grep running|awk '{print $2}'`; do zlogin $i zpool list -H|/usr/bin/nawk -v i="$i" '{print i" "$1" "$5}';done
这按照我想要的方式报告。