【发布时间】:2013-08-14 13:26:14
【问题描述】:
这是来自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。
好吧,我有点迷路了,有人解释一下吗?
【问题讨论】:
-
除了
test解析为另一个二进制文件而不是/usr/bin/test,不知道。你可以试试test -w /home/maxime/.gvfs; echo $?看看是1还是0? -
这里是:
/usr/bin/test -w /home/maxime/.gvfs ; echo $?。输出:0
标签: shell ubuntu scripting dash-shell