我想要存储每个命令的输出mpstat
或mpstat -P ALL
像%usr,%nice,%sys,...
在变量中一样。
你能帮我做这个吗,因为我想对其中一些进行总结。
答案1
这是一件很难的事,但我还是设法为你做了一些事。
此行将在名为 CPU 的变量中打印 CPU 数据
eval "$(mpstat | awk '{print $3}' | xargs | awk '{print $2"="$3}')"
完成此操作后执行echo $CPU
你会得到
[root@localhost BASH]# echo $CPU
all
[root@localhost BASH]#
你%usr
可以使用eval "$(mpstat | awk '{print $4}' | xargs | awk '{print "USR="$3}')"
看下面的例子
[root@localhost BASH]# eval "$(mpstat | awk '{print $4}' | xargs | awk '{print "USR="$3}')"
[root@localhost BASH]# echo $USR
0.11
[root@localhost BASH]#
我希望您了解如何做到这一点,并且可以根据自己的需要开发完整的代码。
概括:
[root@localhost BASH]# cat forsome.sh
#!/bin/bash
eval "$(mpstat | awk '{print $3}' | xargs | awk '{print $2"="$3}')"
eval "$(mpstat | awk '{print $4}' | xargs | awk '{print "USR="$3}')"
echo "Number of CPU's :"$CPU
echo "%usr value :"$USR
[root@localhost BASH]# ./forsome.sh
Number of CPU's :all
%usr value :0.11
[root@localhost BASH]#