问题描述
Windows 确实有 null devices 的概念,例如详细的 here、here 或 here。我能找到的所有例子都是关于重定向流的。
在将脚本从 Linux 移植到 Windows 时,我遇到了一些奇怪的事情:如果 nul
像文件一样打开,我会写入它,关闭它,重新打开它并读回数据。有时。检查工作目录,我可以看到一个名为 nul
的文件正在创建并随着我向其中写入数据而增长。具有讽刺意味的是,我无法从资源管理器中删除它,只能从命令行中删除。
Windows 10 现在带有 OpenSSH 的本机实现。我想使用一个老技巧:当它在寻找 kNown_hosts
文件时,我想将它指向一个空设备。在 Linux 上,这看起来如下:ssh -o UserKNownHostsFile=/dev/null user@host
。在 Windows 上,我进行了如下测试:ssh -o UserKNownHostsFile=nul user@host
。我有一个名为 nul
的文件,其中包含主机。我还尝试了 NUL
、null
和 NULL
,结果相同。试图指向 \Device\Null
或 /Device/Null
会导致 ssh
抱怨它无法找到/打开这些文件。
如何在 Windows (10) 上正确使用和/或指向空设备?
解决方法
JS 人群有一个 solution:我需要指向 \\.\NUL
。显然,这是空设备的实际名称或路径。