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

标签 shell ubuntu scripting dash-shell

这是 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

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

顺便说一句,我正在以用户“maxime”的身份运行上述命令,并且我使用的是 Ubuntu 12.04 中的 dash。

好吧,我在这里有点迷路,有人有解释吗?

最佳答案

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

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

相关文章:

linux - SSH 隧道始终尝试端口 22

python - 如何将 python 脚本的输出发送到电子邮件地址

python - 部署后是否可以在不重新运行flask服务器的情况下更改flask的代码?

regex - grep:如何使用非捕获组?

shell - 在 unix 中向文件中的任意位置添加一列 [使用 awk 或 sed]

python - 通过 cron 从 bash 脚本内部运行 python 文件

multithreading - boost::asio::strand 在 Ubuntu 11.04 (boost_all_dev 1.42) 上是否损坏

android - Ubuntu中的Android可执行快照路径在哪里?

python - 将条目添加到现有 XMLFile Python

regex - 匹配文件内的字符串并返回结果