2013-08-13 2 views
1

여기 test의 man 페이지에서 -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. 그런데

, 나는 사용자 "막심"로 위의 명령을 실행하는거야, 나는 우분투 12.04에서 대시를 사용하고 있습니다.

글쎄, 여기 좀 잃어 버렸어. 누구 한테 설명이있어?

+0

"/ usr/bin/test"보다는 다른 바이너리로 해석하는''test'' 이외에는 아무 생각이 없습니다. ''test -w /home/maxime/.gvfs;를 시험해 볼 수 있겠습니까? echo $?''그리고 1 또는 0인지 확인하십시오. –

+0

여기 있습니다 :'/ usr/bin/test -w /home/maxime/.gvfs; echo $?'. 출력 : '0' – DCMaxxx

답변

1

.gvfs은 특수 파일이며 실제로는 gvfs-fuse-daemon으로 생성 된 가상 파일 시스템입니다. 직접 사용해서는 안됩니다.

+1

괜찮습니다. 사실, 쉘 스크립트에서 사용자의 집에서 쓸 수있는 디렉토리를 찾고 싶습니다. '.gvfs '에 대해 "예외"를 만들어야합니까? – DCMaxxx