今天在写一个windows bat脚本的时候, 突然碰到一个情况,需要将输出的内容丢弃.
由于linux/unix下有/dev/null可以用于将输出安全丢弃, 于是,我就考虑windowsx下有没有类似的文件.
一查果然有, 为nul,
形式只要为cmd ... >nul,标准输出的的内容就被丢弃.
可以做一个实验,
在cygwin下运行 touch nul,是不会成功的
在Windows下新建一个文件, 而后试着改为nul也是不会成功的.
至于cygwin中调用命令(不管是windows的命令还是cygwin内置的命令),都是可以使用/dev/null来丢掉处理的. 至于原理很简单, fork的进程是会拷贝共享父进程的文件描述符的.
阅读(5601) | 评论(0) | 转发(0) |