美文网首页
LINUX 标准错误输出重定向

LINUX 标准错误输出重定向

作者: 平凡之路001 | 来源:发表于2022-01-19 13:00 被阅读0次

nohup  ./test.sh  > log.txt 2>&1  &

1.    nohup

用途:不挂断地运行命令。

语法:nohup Command [ Arg … ] [ & ]

  无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。

  如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

  如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。

退出状态:该命令返回下列出口值:

  126 可以查找但不能调用 Command 参数指定的命令。

  127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。

  否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。

2.    &

用途:在后台运行

一般两个一起用

nohup command &

3.为什么呢 2>&1 要写在后面?

command > file 2>&1

首先是command > file将标准输出重定向到file中, 2>&1 是标准错误拷贝了标准输出的行为,也就是同样被重定向到file中,最终结果就是标准输出和错误都被重定向到file中。

command 2>&1 >file

2>&1 标准错误拷贝了标准输出的行为,但此时标准输出还是在终端。>file 后输出才被重定向到file,但标准错误仍然保持在终端。

用strace可以看到:

command > file 2>&1

这个命令中实现重定向的关键系统调用序列是:

open(file) == 3

dup2(3,1)

dup2(1,2)

command 2>&1 >file

这个命令中实现重定向的关键系统调用序列是:

dup2(1,2)

open(file) == 3

dup2(3,1)

3.   2>&1

注意:0 是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。

这里的2和>之间不可以有空格,2>是一体的时候才表示错误输出。

相关文章

  • 《Linux就该这么学 》笔记(六)| 管道符、重定向和环境变量

    1. 重定向 重定向技术的 5 种模式 标准覆盖输出重定向 标准追加输出重定向 错误覆盖输出重定向 错误追加输出重...

  • linux重定向和输入输出

    先说一下linux重定向: 0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输...

  • linux重定向及nohup不输出的方法

    先说一下linux重定向:0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入...

  • Shell | 标准输入输出重定向

    一、Linux 标准输入输出 二、标准输入输出重定向 1. 标准输入输出重定向是什么? 2. 标准输入输出重定向的...

  • 标准流和错误处理

    linux中可使用重定向将信息输出到指定文件中,可以区分开标准输出与标准错误输出,参考http://c.bianc...

  • bash shell 重定向

    标准输出重定向 标准错误重定向 标准输出和错误重定向到同一个文件 cat 管道线 Notice: 在管道线中传输的...

  • 数据流重定向

    数据流重定向 简单的重定向 标准错误重定向 标准输出和标准错误输出虽然都指向终端屏幕,但它们实际并不一样. 将标准...

  • linux之特殊符号

    ~ 家目录符号 .. 上一级目录 > 标准输出重定向符号 2> 错误输出重定向符号 2>> 错误输出追...

  • Linux标准/错误输出重定向

    用法 操作符号包括:>:标准输出的重定向到文件,实际是“>”前省略了数字“1”2>错误输出用&>所有输出重定向到文...

  • LINUX 标准错误输出重定向

    nohup ./test.sh > log.txt 2>&1 & 1. nohup 用途:不挂断地运行命令。 语...

网友评论

      本文标题:LINUX 标准错误输出重定向

      本文链接:https://www.haomeiwen.com/subject/dgsrhrtx.html