다음과 같은 bash cd 옵션의 예: cd -Pe@ $directory

다음과 같은 bash cd 옵션의 예: cd -Pe@ $directory

말했다 :bash 4.4.12help 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 검색 엔진에서 아무것도 찾을 수 없습니다.

  1. cd -P이것이 우선시되는 몇 가지 예는 무엇입니까 cd?
  2. cd -L표준과 어떻게 다릅니까 cd?
  3. 작업 디렉터리를 성공적으로 결정하지 못하는 것이 어떻게 가능합니까?
  4. 사용된 예는 무엇입니까 -@?

답변1

이것배쉬 매뉴얼자세한 내용이 제공됩니다.

  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와의 상호 작용은 일반적으로 디스크의 경로를 확인하는 것이 아니라 이전 경로 구성 요소(있는 경우)를 제거하여 처리됩니다. 많은 심볼릭 링크를 사용하면 이는 매우 혼란스러울 수 있습니다.ba/b....

  2. cd -L기본값과 동일합니다 cd.

  3. 현재 작업 디렉터리가 삭제되었는지 확인할 수 없습니다.

    $ 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
    
  4. 나는 이것에 대해 확신하지 못합니다(어떨지 상상할 수 있지만 Bash는 " cd:: -@잘못된 옵션"이라고만 말합니다. 이것은 현재 필요한 곳인 Solaris에서만 사용할 수 있는 것 같습니다 O_XATTR).

관련 정보