I want to store each output of commands mpstat
or mpstat -P ALL
, like %usr,%nice,%sys,...
in в переменную.
Хан you help я to do this, because I want to sum some of them.
Это - жесткое, но тем не менее мной управляют для получения чего-то для Вас.
Эта строка распечатает данные ЦП в переменной под названием ЦП
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]#