shell ps -ef命令逐行读取

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell ps -ef命令逐行读取相关的知识,希望对你有一定的参考价值。

for line in `ps -ef | grep test`
do
echo $line
done

这个脚本输出的结果为9行
root
30729
30727
0
05:17
pts/1
00:00:00
grep
test

在终端执行ps -ef | grep test 输出的结果为1行
root 30724 11189 0 05:17 pts/1 00:00:00 grep test

如何让脚本和终端一样1行输出???????

因为for 后边存成的是一个list。会依次读取list的元素。一行里有9个元素,所以依次打印每个元素。
while read读取的是一行,所以显示的是一行。
参考技术A 本来是很简单的, 不过上面的用法是错误的哦。
帮帮 ni 的忙吧?追问

我知道怎么弄了
ps -ef | grep test | while read line
do
echo $line
done
这样写就可以了, 依然谢谢你

追答



以后可以找我解决Linux问题

以上是关于shell ps -ef命令逐行读取的主要内容,如果未能解决你的问题,请参考以下文章

Linux:shell基础 :PS1

sh GitHub Shell PS1提示,为VMU定制

Mac OS X:如何在emacs客户端的shell中永久更改提示符(PS1的值)?

解决appium 连接真机Android 9启动报错.....shell "ps 'uiautomator'

与ps,kill相关的进程查杀

定制 Shell 工作环境