ubuntu 18 cron shell 包含top命令,获取不到top值?

比如:
#!/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
cpu_test=`top -n 1 grep -w "Cpu"`
echo $cpu_test

放入到ubuntu计划任务中,执行获取不到$cpu_test的值,日志显示为值为空。
当然了单独在ubuntu里执行是没有问题的,centos 不管放在计划任务和单独执行都没有问题。
对ubuntu 18 用的不多,百度有大神吗,帮忙解决一下下。

第1个回答  2021-03-30
shell脚本中使用top命令要加-b参数。具体介绍如下:
-b 批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内
修改命令cpu_test=`top -n 1 grep -w "Cpu"`为cpu_test=`top -b -n 1 |grep -w "Cpu"`本回答被网友采纳
第2个回答  2021-03-29
你确定单独执行可以吗?你这grep都不加管道的,试试cpu_test=`top -n 1 |grep -w "Cpu"`?