注意:这个问题原本是提问者的一个印刷错误(
nul
而不是null
)。无论如何,这些详细信息对于遇到相同错误并在研究后到达此处的任何人都很有用。请记住:问题并不完全出在用户权限上。
我曾尝试打开CygWin 的 Bash shell通过 SSH 登录有限的(不属于管理员组)用户的账户,并进行测试:
$ echo "test" > /dev/nul
bash: /dev/nul: Permission denied
使用管理员帐户不会发生此问题。
我在网上看到 CygWin 有使用受限用户帐户运行有困难,但我还没有找到任何解决方法。
有人知道是否有可用的解决方案吗?
编辑:感谢@DanielB,现在我知道问题是一个简单的拼写错误:nul
而不是null
。所以现在的问题应该是:
为什么管理员用户没有这个问题?
答案1
正确的设备名称是/dev/null
。这就是导致您出现问题的原因。
更新
好吧,至于管理员问题——这只是一个权限问题。虽然我不太确定它是否与管理员有关。
stat /dev
揭示了以下内容:
Access: (0755/drwxr-xr-x) Uid: ( 1001/ fuzzy) Gid: ( 513/ None)
我的帐户名在哪里fuzzy
?这意味着我的帐户(并且只有我的帐户)实际上在 中有写入权限/dev
。
使用不存在的重定向目标会自动创建它。结果如下:
$ echo bla > /dev/null
$ file /dev/null
/dev/null: character special
$ echo bla > /dev/nul
$ file /dev/nul
/dev/nul: ASCII text
如您所见,这将导致在 中创建一个常规文件/dev
。此文件实际上还存储了推送到其中的内容,因此会占用磁盘空间。