Как создать собственный идентификатор пути?

5

Чтобы определить, что я подразумеваю под «пользовательским идентификатором пути», я имею в виду короткий набор символов, представляющих весь путь, и примером этого будет ~ , если вы наберете cd ~ в своем Terminal Emulator он перейдет в вашу домашнюю папку. Но я хотел бы сделать обычную для другого пути. Я просмотрел в папке .bashrc подсказки о том, как это сделать, но я мог бы найти что-либо к сожалению.

«Пользовательский идентификатор пути», который я пытаюсь сделать, - это ~~ to /home/myuser/Applications/Custom/Java/ . Поскольку я собираюсь использовать этот путь много (и ежедневно), я не хочу, чтобы он перепечатывал весь путь, и просто набрав ~~ было бы хорошо. Я попытался использовать команду alias :

alias ~~="/home/myuser/Applications/Custom/Java/"

Но, к сожалению, это не сработало.

С другой стороны, прошу прощения, если я использую неправильную терминологию для чего-либо, я довольно новичок во всем этом материале Linux, и я знаю очень мало. Так что спасибо за любую дополнительную информацию, которую я получаю.

    
задан Radu Rădeanu 02.07.2014 в 09:47
источник

3 ответа

6

Тильда ( ~ ) имеет особое значение в bash, является расширением bash и принимает значение переменной среды $HOME . Прочитайте раздел Расширения Тильды из Справочного руководства GNU Bash, чтобы понять, как это страшно. Итак, я думаю, что то, что вы хотите выполнить, похоже на:

[email protected]:~$ pushd -n "/home/myuser/Applications/Custom/Java"
~ ~/Applications/Custom/Java
[email protected]:~$ cd ~1
[email protected]:~/Applications/Custom/Java$

Прочтите man pushd для получения дополнительной информации.

Затем, чтобы идти прямо внутри /home/myuser/Applications/Custom/Java каждый раз, когда вы запускаете команду cd ~1 в своем терминале, просто добавьте следующую строку в конец файла ~/.bashrc :

pushd -n "/home/myuser/Applications/Custom/Java" >/dev/null

Перезагрузите файл ~/.bashrc с source ~/.bashrc , а затем используйте cd ~1 каждый раз, когда вы хотите изменить текущий рабочий каталог на /home/myuser/Applications/Custom/Java .

    
ответ дан Radu Rădeanu 02.07.2014 в 11:41
источник
0

В zsh это не так просто, потому что вам явно не нужно писать cd , вы можете просто создать псевдоним вроде этого:

alias x=/some/path

Добавьте это в свой .zshrc (или любой другой файл, который будет отправлен при запуске zsh), и вы готовы к работе. Теперь вы можете перейти к этому каталогу, вызвав псевдоним, а именно x в этом примере.

    
ответ дан klingt.net 02.07.2014 в 14:00
0

Вы можете использовать опцию оболочки "cdable_vars"

shopt -s cdable_vars

Также посмотрите CDPATH ,
и опция оболочки "autocd"

Описание того, как работает CDPATH , см. в разделе cd на странице руководства bash

man bash | less -p 'cd \['

Решения работают как для bash , так и для zsh .


Если вы используете zsh , вы можете использовать глобальные псевдонимы , чтобы заменить идентификатор везде в командной строке, а не только как команду.

    
ответ дан Volker Siegel 02.07.2014 в 16:41