这是-w手册页中的test选项说明:

   -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


如您所见,该目录不应是可写的:仅设置rx标志。
但是,test说我可以用它写……第一件奇怪的事。另一个是尝试在其中创建文件时发生的情况:No such file or directory

顺便说一句,我以用户“ maxime”的身份运行上述命令,并使用Ubuntu 12.04中的破折号。

好吧,我在这里有点迷失了,有人得到解释了吗?

最佳答案

.gvfs是一个特殊文件,实际上是gvfs-fuse-daemon创建的虚拟文件系统。您不应该直接使用它。

关于shell - Shell脚本,目录可写奇怪行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18200464/

10-13 03:20