发布于 4年前

Bash输出错误信息到标准错误stderr

首先要了解文件描述符:

  • 文件描述符 0:表示标准输入stdinput
  • 文件描述符 1:表示标准输出stdout
  • 文件描述符 2:表示标准错误stderr

要把信息输出到标准错误,可以把stdout(文件描述符 1)重定向stderr(文件描述符 2),命令如下:

>&2 echo "error"

其中echo "error"是输出到stdout,>&2是把输出重定向到stderr。

为了避免和其他重定向发生交互,可以使用subshell:

(>&2 echo "error")

也可以定义为一个函数,在调用:

echoerr() { echo "$@" 1>&2; }
echoerr "error"
©2020 edoou.com   京ICP备16001874号-3