альтернативный подход для выборочного удаления из дерева rsnapshot с помощью find?

Руководство по Bash дает немного больше деталей.

  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 означает, что симлинк с b на a/b разыменован. Взаимодействие с ... заключается в том, что ... обычно обрабатывается путем удаления предыдущего компонента пути, если он есть; а не путем проверки пути на диске. Если вы используете много симлинков, это может привести к путанице.

  2. cd -L эквивалентен стандартному cd.

  3. Текущий рабочий каталог не может быть определен, если он был удален:

    $ cd /tmp
    $ mkdir -p c/d
    $ cd c/d
    $ rmdir ../d ../../c
    $ cd ...; echo $?
    cd: ошибка при получении текущего каталога: getcwd: невозможно получить доступ к родительским каталогам: Нет такого файла или каталога
    0
    

    v.

    $ cd -Pe ...; echo $?
    cd: ошибка при получении текущего каталога: getcwd: невозможно получить доступ к родительским каталогам: Нет такого файла или каталога
    1
    
  4. В этом я не уверен (я могу представить, как это будет выглядеть, но Bash просто говорит "cd: -@: invalid option"; у меня сложилось впечатление, что сейчас это доступно только на Solaris, там нужен O_XATTR).

1
23.05.2017, 15:39
0 ответов

Теги

Похожие вопросы