加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何从linux shell脚本中的另一个命令(管道)的stdout读取输入?

发布时间:2020-12-14 00:03:00 所属栏目:Linux 来源:网络整理
导读:我的目标是找到消耗最多CPU和RAM的过程 通过编写脚本.我设法从TOP命令中提取信息但是,我在解析输出时遇到了问题. 以下命令, top -b -n 1 | tail -n +8 | head -n 1 输出类似于这一行的东西, 915 root 20 0 209m 74m 8644 S 8 7.7 5:27.57 Xorg 我希望这行文
我的目标是找到消耗最多CPU和RAM的过程
通过编写脚本.我设法从TOP命令中提取信息但是,我在解析输出时遇到了问题.

以下命令,

top -b -n 1 | tail -n +8 | head -n 1

输出类似于这一行的东西,

915 root      20   0  209m  74m 8644 S    8  7.7   5:27.57 Xorg

我希望这行文本成为我脚本的参数列表.我意识到我必须从STDIN读取它,但是,我想逐字逐句地读取上面的输出,或者通过参数参数,就好像它是从命令行给出的一样.

echo " Parameter is ${2} ${3}"

解决方法

获取变量行:

OUTPUT=`top -b -n 1 | tail -n +8 | head -n 1`

转换为数组:

LIST=($OUTPUT)

并输出字段:

echo ${LIST[1]}
echo ${LIST[2]}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读