Я нахожусь в каталоге ~/a
, который является символической ссылкой на ~/b/c
. Моя подсказка выглядит так:
~/a$
Но я надеюсь от cd
до ~/b/c
.
~/a$ cd .
~/a$
Это не работает. Какой правильный путь?
Вот способ перехода к цели данной символьной ссылки:
cd -P .
Вот как это работает
user@host:~/tmp$ ls
@a b
user@host:~/tmp$ file a
a: symbolic link to `b/c'
user@host:~/tmp$ cd a
user@host:~/tmp/a$ cd .
user@host:~/tmp/a$ cd -P .a
user@host:~/tmp/b/c$
Вы можете присвоить ему псевдоним
[ 112]Из руководства по bash:
Опция -P говорит об использовании структуры физического каталога вместо следующих символических ссылок
blockquote>
Если вы просто пытаетесь перейти в другой каталог, то решение состоит в том, чтобы ввести его вручную (в противном случае система не будет переходить по ссылке обратно на источник).
Пример:
cd ~/b/c
Вы можете назначить псевдоним для этого, используя:
alias cdtobc="cd ~/b/c"
(Выше приведен пример и вы можете, конечно, подставлять значения по мере необходимости).