这是 test
手册页中的 -w
选项描述:
-w FILE
FILE exists and write permission is granted
举个例子胜过千言万语:
$ ls -ld /home/maxime/.gvfs
dr-x------ 2 maxime maxime 0 Aug 5 22:53 /home/maxime/.gvfs
$ [ -w /home/maxime/.gvfs ] && echo "is writable"
is writable
$ touch /home/maxime/.gvfs/file
touch: cannot touch `/home/maxime/.gvfs/file': No such file or directory
如您所见,该目录不应是可写的:仅设置了 r
和 x
标志。
但是,test
说我可以在里面写...首先是奇怪的事情。另一个是当我尝试在其中创建文件时发生的情况:No such file or directory
。
顺便说一句,我正在以用户“maxime”的身份运行上述命令,并且我使用的是 Ubuntu 12.04 中的 dash。
好吧,我在这里有点迷路,有人有解释吗?
最佳答案
.gvfs
是一个特殊的文件,实际上是gvfs-fuse-daemon
创建的虚拟文件系统。你不应该直接使用它。
关于Shell脚本,目录可写的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18200464/