Linux Shell日志重定向

常规:

./redis2mongodb > /tmp/r2m.log 2>&1

解析:

  1. ./redis2mongodb > /tmp/r2m.log 表示把标准输出,重定向到指定的文件
  2. 2>&1 # 把准备错误输出重定向到标准输出
  3. 在第1点中,已经定义了标准输出的操作,所以第2点输出也会重定向到日志
  4. > 与 1> 是等价的

符号说明:

  • > 重定向,两个 [>>]则表示追加
  • 0 : 表示 标准输入
  • 1 : 表示 标准输出
  • 2 : 表示 标准错误输出

例子

如上Shell脚本,默认不管是正常或错误的都输出到标准输出,即屏幕
使用>重定向后,标准输出的数据已被输出到文件中,但错误的还在屏幕
修改命令后,正确与错误的输出都重定向到了文件中,但要有两个文件
修改如上命令后,正确与错误的输出都重定向到了一个文件,但之前的内容不见了
修改如上命令后,正确与错误都输出到一个文件了,还实现了追加的效果

想要哪种的,自己选择吧!