shell脚本中,你是不是经常看见标题中的代码
sh xxxxx.xxx >/dev/null 2>&1 &
- 可以把/dev/null 当做垃圾桶、回收站,它等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到。放在命令之后,相当于命令的输出都不做存储。
- 重定向符号 > 等价于 1> 意思是标准输出重定向到某个文件,>/dev/null 即是将前面命令的标准输出重定向到 /dev/null 这个文件
- 2 ,表示标准错误,stderr。2>&1 表示标准错误重定向到标准输出。 注意:2>1 这样写的话表示标准错误重定向到 1这个文件
组合起来 command >/dev/null 2>&1 这表示命令的错误输出重定向到标准输出,标准输出重定向到/dev/null 也就是说命令的输出既不会出现在标准输出、标准错误输出,也不会保存着文件中。而是全部丢弃了。
最后一个 & ,表示让程序后台执行。命令行退出不会中断。