linux shell 错误输出,bash中,需要将脚本demo.sh的标准输出和标准错误输出

该题考察Linux下的输入/输出重定向。在Linux中,每个打开的文件被赋予一个文件描述符(file

descriptor),包括标准输入(stdin),标准输出(stdout)和标准错误输出(stderr),由0,1,2分别描述。

A选项,command &> file

表示将标准输出(stdout)和标准错误输出(stderr)重定向至指定的文件file中。

B选项,语法错误。正确的语法是M >& N,M和N都是文件描述符,M在不指定的情况下默认是文件描述符1。

C选项,command > file

2>&1,是由两部分组成。首先command>file表示将标准输出(stdout)重定向到文件file中。接下来的2>&1表示将标准错误输出(stderr)输出到文件描述符1指定的位置,即标准输出(stdout)的位置,由于标准输出已经冲定向到文件file中,所以标准错误输出也会重定向到文件file中。

D选项,command 2> file 1> file,也可看成是由两部分组成。首先command 2>

file,表示将标准错误输出(stderr)重定向到文件file中;1>

file,表示将标准输出(stdout)重定向到文件file中。

最终的file中不会包含标准错误输出(stderr)的信息,因为会被之后的标准输出(stdout)覆盖。

你可能感兴趣的:(linux,shell,错误输出)