awk命令可以执行,在SHELL脚本不能执行。
命令很简单,就是查看当前的服务器处理的进程数:#uptime|awk'{printf$(NF-2)}'|cut-d.-f1可以正常执行。但是写成脚本,用来判断服务器性能的...
命令很简单,就是查看当前的服务器处理的进程数:
# uptime |awk '{printf $(NF-2)}'|cut -d . -f1
可以正常执行。
但是写成脚本,用来判断服务器性能的时候,不能出来预想的效果,给变量赋值不成功。
1 #!/bin/bash
2 a=`uptime|awk '{pringf $(NF-2)}' |cut -d . -f1`
3 #负载就是进程数,每个CPU内核小于等于3时是良好性能,大于5时是性能差
4 if [[ $a -le 3 ]] ; then
5 printf {"\tProcess per CPU core is %s less than 3,Performs is good\n",$a}
6 elif [[ $a -gt 5 ]] ; then
7 printf {"\tProcess per CPU core is %s than 5,Performs is bad\n",$a}
8 fi
9 exit 0 展开
# uptime |awk '{printf $(NF-2)}'|cut -d . -f1
可以正常执行。
但是写成脚本,用来判断服务器性能的时候,不能出来预想的效果,给变量赋值不成功。
1 #!/bin/bash
2 a=`uptime|awk '{pringf $(NF-2)}' |cut -d . -f1`
3 #负载就是进程数,每个CPU内核小于等于3时是良好性能,大于5时是性能差
4 if [[ $a -le 3 ]] ; then
5 printf {"\tProcess per CPU core is %s less than 3,Performs is good\n",$a}
6 elif [[ $a -gt 5 ]] ; then
7 printf {"\tProcess per CPU core is %s than 5,Performs is bad\n",$a}
8 fi
9 exit 0 展开
1个回答
展开全部
sh -x yourshell
可以查看执行过程
# sh -x 1
++ cut -d . -f1
++ awk '{pringf $(NF-2)}'
++ uptime
+ a=
+ echo
这里pringf写错了应该是printf
[root@iZ259r7h4pfZ ~]# cat 1
a=`uptime|awk '{printf $(NF-2)}' |cut -d . -f1`
echo $a
[root@iZ259r7h4pfZ ~]# sh -x 1
++ cut -d . -f1
++ awk '{printf $(NF-2)}'
++ uptime
+ a=0
+ echo 0
0
可以查看执行过程
# sh -x 1
++ cut -d . -f1
++ awk '{pringf $(NF-2)}'
++ uptime
+ a=
+ echo
这里pringf写错了应该是printf
[root@iZ259r7h4pfZ ~]# cat 1
a=`uptime|awk '{printf $(NF-2)}' |cut -d . -f1`
echo $a
[root@iZ259r7h4pfZ ~]# sh -x 1
++ cut -d . -f1
++ awk '{printf $(NF-2)}'
++ uptime
+ a=0
+ echo 0
0
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询