V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mk3s
V2EX  ›  问与答

咨询一下 Linux 信息输出重定向的问题

  •  
  •   mk3s · 2023-02-15 10:52:18 +08:00 · 888 次点击
    这是一个创建于 676 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我们常用>/dev/null 2>&1 来屏蔽执行时标准输出和错误的信息,但是类似于告警或者其他不知道如何归类的信息,前面的命令是没法屏蔽的,有哪个大佬只知道要怎么屏蔽除了 1 和 2 以外的所有信息么,我上 google 查了一下,没查到,不知道是不是关键字不对
    10 条回复    2023-02-15 11:44:38 +08:00
    dier
        1
    dier  
       2023-02-15 11:03:18 +08:00
    你先发一个不能重定向的信息让我们开开眼
    tool2d
        2
    tool2d  
       2023-02-15 11:11:18 +08:00
    输出流就两个,一个是 stderr ,另一个是 stdout 。

    你把这两个都屏蔽了,就没输出了。
    mk3s
        3
    mk3s  
    OP
       2023-02-15 11:20:38 +08:00
    补一下目前没法屏蔽的信息
    + /usr/lib/rpm/check-buildroot
    + /usr/lib/rpm/redhat/brp-compress
    + /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
    + /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
    + /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
    + /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1
    + /usr/lib/rpm/redhat/brp-python-hardlink
    + /usr/lib/rpm/redhat/brp-java-repack-jars

    警告:软件包 ncurses-libs-5.9-13.20130511.el7.x86_64 已被加入,以 ncurses-libs-5.9-14.20130511.el7_4.x86_64 替换
    警告:软件包 nettle-2.7.1-8.el7.x86_64 已被加入,以 nettle-2.7.1-9.el7_9.x86_64 替换
    警告:软件包 readline-6.2-10.el7.x86_64 已被加入,以 readline-6.2-11.el7.x86_64 替换

    97.06% done, estimate finish Wed Feb 15 11:18:14 2023
    97.66% done, estimate finish Wed Feb 15 11:18:14 2023
    98.27% done, estimate finish Wed Feb 15 11:18:14 2023
    98.88% done, estimate finish Wed Feb 15 11:18:14 2023
    99.48% done, estimate finish Wed Feb 15 11:18:14 2023
    Total translation table size: 132122
    Total rockridge attributes bytes: 58367
    Total directory bytes: 98304
    Path table size(bytes): 140
    Done with: The File(s) Block(s) 824001
    Writing: Ending Padblock Start Block 824116
    Done with: Ending Padblock Block(s) 150
    Max brk space used ab000
    824266 extents written (1609 MB)

    以上是我操作 rpmbuild ,rpm ,还有 mkisofs 产生的信息,目前没办法屏蔽
    zhlxsh
        4
    zhlxsh  
       2023-02-15 11:22:39 +08:00 via iPhone
    终端里开一个程序,他能输出的信息除了 1 就是 2 没有第三种,这是他能输出的,如果有请发出来我也想开开眼界

    但是,有些东西可以在终端输出信息,比如说现在咱俩都登陆在同一个机器上,我输入了 shutdown 命令,你那边也能看到提示。另外就是 wall 命令,,我猜他们是发给 tty 的吧,不知道能不能屏蔽 /忽略

    除此之外还有某些告警可以打印到屏幕上,具体怎么配置,需要楼下内核组大神讲解一下
    zhlxsh
        5
    zhlxsh  
       2023-02-15 11:23:48 +08:00 via iPhone
    @mk3s 3# 的输出,把你运行的命令贴一下
    mk3s
        6
    mk3s  
    OP
       2023-02-15 11:24:59 +08:00
    @zhlxsh
    @dier
    已补充对应的信息
    dier
        7
    dier  
       2023-02-15 11:30:05 +08:00
    #3 你这肯定是这个 build 过程中有调用其它命令,这是其他命令输出的信息,不是你执行的这个命令 /脚本输出的
    dier
        8
    dier  
       2023-02-15 11:30:44 +08:00
    那个警告 替换明显是在更新软件
    dier
        9
    dier  
       2023-02-15 11:43:56 +08:00
    简单来说,就是你执行命令时后面的重定向只对你当前执行的这个命令或者脚本的 1 2 信息进行重定向,如果执行的是一个脚本,且脚本里有调用其它命令,你这种写法是不能被重定向的,如果非要重定向,请用下面的方法来执行
    ```shell
    { sh file.sh; } >/dev/null 2>$1
    ```
    dier
        10
    dier  
       2023-02-15 11:44:38 +08:00
    更正一下,上面的 & 打成了$
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2538 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:03 · PVG 12:03 · LAX 20:03 · JFK 23:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.