zoukankan      html  css  js  c++  java
  • shell 中最常使用的 FD (file descriptor)

    在 shell 程式中,最常使用的 FD (file descriptor) 大概有三个, 分别是:

    0 是一个文件描述符,表示标准输入(stdin)
    是一个文件描述符,表示标准输出(stdout)

    是一个文件描述符,表示标准错误(stderr)

    一般来说, "1>" 通常可以省略成 ">". 
    有了这些认识才能理解 "1>&2" 和 "2>&1". 
    1>&2 正确返回值传递给2输出通道 &2表示2输出通道 
    如果此处错写成 1>2, 就表示把1输出重定向到文件2中. 
    2>&1 错误返回值传递给1输出通道, 同样&1表示1输出通道.

    & 是一个描述符,如果1或2前不加&,会被当成一个普通文件。

    1>&2 意思是把标准输出重定向到标准错误.

    2>&1 意思是把标准错误输出重定向到标准输出。

    &>filename 意思是把标准输出和标准错误输出都重定向到文件filename

    我们再看一个例子:

    1
    2
    3
    lsnodir 1> filename.txt 2>&1
    catfilename.txt
    ls: nodir: No such fileor directory

    上面例子把 标准输出 重定向到文件 filename.txt,然后把 标准错误 重定向到 标准输出

    所以最后的错误信息也通过标准输出写入到了文件中,比较例3,4,5,就能明白其作用。

  • 相关阅读:
    Spring源码学习之容器的基本实现(一)
    面向对象设计原则
    简单易懂带你了解红黑树
    简单易懂带你了解二叉树
    单例模式
    原形模式
    数组与链表
    记一次解决postgresql数据库内存泄露的问题
    记一次排查CPU高的问题
    react ts 设置paths 和 声明非@types的模块
  • 原文地址:https://www.cnblogs.com/cangqiongbingchen/p/6434211.html
Copyright © 2011-2022 走看看