Предотвратите 'CD', помня пересеченные символьные ссылки

3 ответа

Если вы наберете set -P в bash, все команды, такие как cd, pwd, будут следовать по физическому пути. В противном случае вы можете использовать cd -P и pwd -P для временного изменения поведения по умолчанию.

Из справочной страницы bash:

          -P      If  set,  the shell does not follow symbolic links when executing commands such as cd that change the cur-
                  rent working directory.  It uses the physical directory structure instead.  By default, bash  follows  the
                  logical chain of directories when performing commands which change the current directory.

Чтобы сделать это постоянным, поместите его в вашем файле ~ / .bashrc , например.

8
ответ дан 3 December 2019 в 02:25

«cd» встроен в большинство оболочек. В bash вы можете добиться желаемого поведения, добавив

set -P

в сценарий запуска (например, .bashrc).

4
ответ дан 3 December 2019 в 02:25

В Ubuntu / Debian (не уверен насчет BSD) cd -P symlink помещает меня в разрешенный путь символической ссылки. (То же поведение, что и pwd -P)

Проверено с использованием:

mkdir a
ln -s a b
cd -P b && pwd
2
ответ дан 3 December 2019 в 02:25

Теги

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