Shell标准输出、标准错误

首先让我们来看一段脚本:

nohup $JAVA $JAVA_OPTS -cp "$CONF_DIR:$APP_DIR/client-0.0.1.jar:$APP_DIR/lib/*" com.cyblogs.demo.Main $CFG_NAME >/dev/null 2>&1  

这里需要注意的4个点:

/dev/null: 伪设备,相当于一个文件的“黑洞”,它非常接近于一个只写文件,所以,写入它的内容都将会永久丢失。

1: 表示stdout标准输出,系统默认值就是1

2: 表示stderr标准错误。

&:表示等同于的意思

1>/dev/null 首先表示将标准输出重定向到空设备文件,2>&1 则表示标准错误输出重定向等同于标准输出。 即:将标准输出、标准错误全部都指向空文件。也就是什么都不会保留。