Shell重定向:2>&1

  • 0 是一个文件描述符,表示标准输入(stdin)
  • 1 是一个文件描述符,表示标准输出(stdout)
  • 2 是一个文件描述符,表示标准错误(stderr)

重定向用法:

  1. 1>&2 意思是把标准输出重定向到标准错误.
  2. 2>&1 意思是把标准错误输出重定向到标准输出。
  3. &>filename 意思是把标准输出和标准错误输出都重定向到文件filename中

栗子1:

go run ../../spiders/usa/listmain.go  > helpspider.log 2>&1

>等同于1,把标准输出到helpspider.log,然后2>&1标准错误重定向到标准输出!

栗子2:

go run ../../spiders/usa/listmain.go &>/dev/null

&表示标准输出和标准错误,重定向到文件dev/null,即是丢弃它!

等同于

go run ../../spiders/usa/listmain.go  > /dev/null 2>&1