Як визначити символічне посилання, яке я можу використовувати у кожному каталозі


11

Чи можна встановити символічне посилання, щоб я міг використовувати projectвказівку на каталог home/me/project, наприклад? Це має бути незалежним від місця розташування у файловій системі.

Я хотів би використовувати такі команди , як cd project, nano project/file1.texі так далі.

Чи потрібно писати символічне посилання на всі мої каталоги?

Відповіді:


15

Більшість оболонок мають CDPATHзмінну, яка cdможе шукати зміни каталогів у той самий спосіб, у якому виконують пошук у виконуваних файлах $PATH.

Отже, якщо ви додасте свої посилання в ~/projectsкаталог і зробите CDPATH=~/projects, ви зможете cd fooзайти~/projects/foo

З zsh, якщо $varмістить шлях , який ви можете зробити , cd ~varщоб cdдо цього шляху. Корисною частиною цього є те, коли ваша підказка %~відображає це у вашому запиті:

$ proj1=/usr/local proj2=/etc/apache2
$ PS1='%~$ '
$ cd ~proj1
~proj1$ cd ~proj2/sites-enabled
~proj2/sites-enabled$

З setopt cdablevars, ви можете також робити cd proj1замість cd ~proj1.


9

Можливо, ви хочете використовувати змінні замість символічних посилань, наприклад

export project=/home/me/project

тоді

cd $project

або

vim $project/file

ОНОВЛЕННЯ

Як вказує петерф, ви також можете їх комбінувати (включаючи попередньо визначені змінні), наприклад

export project=$HOME/project

1
Або ще краще project=$HOME/project...
петерф

@peterph, або навіть простіше ~/project.
Стефан Шазелас

4
З zsh, ви також можете зробити setopt cdablevarsі тодіcd project
Stéphane Chazelas

@StephaneChazelas: Я думаю, що це хороший момент - хоча як це специфічно, zshможливо, ви могли б додати це як окрему відповідь?
jmetz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.