当前位置:  技术问答>linux和unix

shell重定向

    来源: 互联网  发布时间:2017-01-17

    本文导语:    大家好,我写了一个shell,实现搜索命令/usr/sbin/httpd的进程号,输入到以当前进程为名称的文件,但是执行很多次都发现文件是创建了,但是就没有内容。例如我当前的进程号是21908,搜索到/usr/sbin/httpd的进程号式2...

  大家好,我写了一个shell,实现搜索命令/usr/sbin/httpd的进程号,输入到以当前进程为名称的文件,但是执行很多次都发现文件是创建了,但是就没有内容。例如我当前的进程号是21908,搜索到/usr/sbin/httpd的进程号式21921,则在21908.txt的文件中应该存在21921。发现txt文件是存在,但是用vi 和 cat命令就是发现文件的内容为空。请问是什么问题呢?
具体文件如下:

#!/bin/bash

currentID=$$  
#echo $currentID

ps -aux | grep "/usr/sbin/httpd" | awk '{print $2}'>>${currentID}.txt



谢谢大家!

|
ps aux 不是 ps -aux

|
LZ啊,你不会自己多试试啊,咋还衣来伸手饭来张口啊。

你先ps aux,有的话再ps axu | grep ,还是有的话再 ps aux | grep | awk ,一步一步的在命令行下尝试啊。

我考,真服了。

|


我试了一下,能写进去,这是什么情况。

|
ps的参数是不需要-的,这个2楼已经指出了。文件中没有内容,估计还是系统中已经没有httpd在运行的缘故。(或者用户权限不足以查到这个进程,或者字符串有误导致匹配失败,即grep没有输出)

|
#!/bin/bash
currentID=$$
ps aux | grep "/usr/sbin/httpd" >>${currentID}.txt 2>&1
ps aux | grep "/usr/sbin/httpd" | awk '{print $2}' >>${currentID}.txt 2>&1

这样可以吗?

如果你是把脚本放在crontab里面执行的,给每个命令加上完整路径吧。

|


>>定向标准输出,2>&1把标准错误定向到标准输出呗,你可以了解一下dup2函数.

难道命令有错?

|
怎么我这可以顺利进行啊。
ps aux | grep "/usr/sbin/httpd" | awk '{print $2}' >>${currentID}.txt 2>&1

这个不是错误输出重定向吗?跟这个没什么关系吧。

|

这里的&1是1号句柄,也就是前面的日志文件。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • shell变量和子shell的问题请教
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 请问“当前shell”和“子shell”的区别?
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • 用户登陆后运行某SHELL退出SHELL就回到LOGIN是怎么作到的?
  • 怎么写shell代码 写好shell怎么运行?
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • 非登录shell是什么 意思,和登录shell有什么区别啊
  • Solaris 8中修改root的shell为一个非法的Shell后怎么办?
  • 各位Shell高人,如何取得Shell的第10个入口参数?$10不行啊,急!
  • shell 编程 执行shell新建多个终端 并执行程序
  • 如何在一台机器上的shell中执行另外一台机器上的shell


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3