linux shell 获取输出值

duanhjlt 2008-10-09 03:42:51
我想写个shell的脚本程序,程序中有个问题,就是如何获取前一条命令输出的结果,比如:
ps -ef |grep vim
如何获得这个命令输出的结果呢?
...全文
2449 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
duanhjlt 2008-10-17
  • 打赏
  • 举报
回复
楼上谢了
xxgamexx 2008-10-10
  • 打赏
  • 举报
回复
res=`ps -ef|grep vim` >> out 这样可以么?
无知者无谓 2008-10-10
  • 打赏
  • 举报
回复
res=`ps -ef|grep vim`

正解,可以保存到一个变量中
wlabing 2008-10-10
  • 打赏
  • 举报
回复
可以用tee,显示的同时,再保存一份到文件中,然后再从文件中取得输出的内容.
littlefirebug 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 brookmill 的回复:]
ps -ef |grep vim
echo $?

shell中定义了一个特殊的变量“?”用来保存上一个命令结束后的返回值。
你可以通过以下方式来观察前一个命令的返回值:
echo $?

[/Quote]

$?只是上一个命令的返回状态,比如成功返回0,失败返回-1。不会保存ps -ef|grep vim的输出内容
littlefirebug 2008-10-10
  • 打赏
  • 举报
回复
不是单引号,是键盘上1左边的那个符号
duanhjlt 2008-10-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wzzww 的回复:]
res=`ps -ef|grep vim`

正解,可以保存到一个变量中
[/Quote]
这样可以吗?为什么我的老是不行

#/bin/bash

res='ps -ef|grep vim'
echo $res

结果什么都没有显示
brookmill 2008-10-09
  • 打赏
  • 举报
回复
ps -ef |grep vim
echo $?

shell中定义了一个特殊的变量“?”用来保存上一个命令结束后的返回值。
你可以通过以下方式来观察前一个命令的返回值:
echo $?
jqx_ah 2008-10-09
  • 打赏
  • 举报
回复
LZ 理解那个“|”的意义不?

你可以尝试 利用管道!
never_QL 2008-10-09
  • 打赏
  • 举报
回复
重定向。。。
playmud 2008-10-09
  • 打赏
  • 举报
回复
ps -ef |grep vim |xargs xxoo
littlefirebug 2008-10-09
  • 打赏
  • 举报
回复
res=`ps -ef|grep vim`
xxgamexx 2008-10-09
  • 打赏
  • 举报
回复
ps -ef >> out | grep vim

这样可以么?

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧