말했다 :bash 4.4.12
help cd
Options: -L force symbolic links to be followed: resolve symbolic links in DIR after processing instances of `..' -P use the physical directory structure without following symbolic links: resolve symbolic links in DIR before processing instances of `..' -e if the -P option is supplied, and the current working directory cannot be determined successfully, exit with a non-zero status -@ on systems that support it, present a file with extended attributes as a directory containing the file attributes
단어를 이해하는 데 어려움을 겪고 있으며 Google 검색 엔진에서 아무것도 찾을 수 없습니다.
cd -P
이것이 우선시되는 몇 가지 예는 무엇입니까cd
?cd -L
표준과 어떻게 다릅니까cd
?- 작업 디렉터리를 성공적으로 결정하지 못하는 것이 어떻게 가능합니까?
- 사용된 예는 무엇입니까
-@
?
답변1
이것배쉬 매뉴얼자세한 내용이 제공됩니다.
cd -P
"실제" 경로로 끝나는지 확인하세요.$ cd /tmp $ mkdir -p a/b $ ln -s a/b b $ cd b $ pwd /tmp/b $ cd -P ../b $ pwd /tmp/a/b
를 사용한다는 것은 에서 까지의 심볼릭 링크가
-P
역참조된다는 의미입니다. is와의 상호 작용은 일반적으로 디스크의 경로를 확인하는 것이 아니라 이전 경로 구성 요소(있는 경우)를 제거하여 처리됩니다. 많은 심볼릭 링크를 사용하면 이는 매우 혼란스러울 수 있습니다.b
a/b
..
..
cd -L
기본값과 동일합니다cd
.현재 작업 디렉터리가 삭제되었는지 확인할 수 없습니다.
$ cd /tmp $ mkdir -p c/d $ cd c/d $ rmdir ../d ../../c $ cd ..; echo $? cd: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory 0
V.
$ cd -Pe ..; echo $? cd: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory 1
나는 이것에 대해 확신하지 못합니다(어떨지 상상할 수 있지만 Bash는 "
cd
::-@
잘못된 옵션"이라고만 말합니다. 이것은 현재 필요한 곳인 Solaris에서만 사용할 수 있는 것 같습니다O_XATTR
).