Her dizinde kullanabileceğim sembolik bir bağlantı nasıl tanımlanır


11

projectDizini işaret etmek için kullanabileceğim sembolik bir bağlantı ayarlamak mümkün müdür home/me/project? Bu, dosya sistemindeki konumdan bağımsız olmalıdır.

Gibi komutlar kullanmak istiyorum cd project, nano project/file1.texvb.

Tüm dizinlerime sembolik bir bağlantı yazmak zorunda mıyım?

Yanıtlar:


15

Çoğu kabuk , yürütülebilir dosyaların aranacağı şekilde değiştirilecek dizinleri arayabilen bir CDPATHdeğişkene sahiptir .cd$PATH

Bir da sembolik eklemek Yani eğer ~/projectsdizin ve bunu CDPATH=~/projectsyapmanız mümkün olacak cd foogitmek~/projects/foo

İle zsheğer $varyapabileceğiniz bir yolu içerir cd ~variçin cdbu yola. Bunun yararlı kısmı, isteminizin, isteminize %~yansıttığı zamandır:

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

İle yerine setopt cdablevarsde yapabilirsiniz .cd proj1cd ~proj1


9

Muhtemelen sembolik bağlantılar yerine değişkenler kullanmak istersiniz, ör.

export project=/home/me/project

sonra

cd $project

veya

vim $project/file

GÜNCELLEME

Peterph tarafından işaret edildiği gibi, bunları da (önceden tanımlanmış değişkenler dahil) birleştirebilirsiniz, örn.

export project=$HOME/project

1
Ya da daha iyisi project=$HOME/project...
peterph

@peterph, hatta daha basit ~/project.
Stéphane Chazelas

4
İle zshde yapabilirsin setopt cdablevarsve sonracd project
Stéphane Chazelas

@StephaneChazelas: Bence bu iyi bir nokta - zshbelki de spesifik olduğu için bunu ayrı bir cevap olarak ekleyebilirsiniz?
jmetz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.