Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell脚本,目录是可写的奇怪行为_Shell_Ubuntu_Scripting_Dash Shell - Fatal编程技术网

Shell脚本,目录是可写的奇怪行为

Shell脚本,目录是可写的奇怪行为,shell,ubuntu,scripting,dash-shell,Shell,Ubuntu,Scripting,Dash Shell,以下是测试的手册页中的-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 w

以下是
测试的手册页中的
-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
说我可以用它来写。。。第一件奇怪的事。另一个是当我尝试在其中创建文件时发生的情况:
没有这样的文件或目录

顺便说一句,我以用户“maxime”的身份运行上述命令,并使用Ubuntu12.04中的dash


嗯,我在这里有点迷路了,有人解释过吗?

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

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

除了
test
解析为另一个二进制文件而不是
/usr/bin/test
,我不知道。你能试试
test-w/home/maxime/.gvfs;echo$?
并查看它是1还是0?这里是:
/usr/bin/test-w/home/maxime/.gvfs;echo$?
。输出:
0
除了
test
解析为另一个二进制文件,而不是
/usr/bin/test
,不知道。你能试试
test-w/home/maxime/.gvfs;echo$?
并查看它是1还是0?这里是:
/usr/bin/test-w/home/maxime/.gvfs;echo$?
。输出:
0
正常。事实上,在我的shell脚本中,我希望在用户的主目录中找到任何可写目录。我是否应该为
.gvfs
“例外”?好的。事实上,在我的shell脚本中,我希望在用户的主目录中找到任何可写目录。我是否应该为
.gvfs
“例外”?