Настройка псевдонимов в Zsh

75

Я знаю, что в bash вы можете настроить псевдонимы в файле .bash_aliases, чтобы вводимая вами команда не обязательно была командой, хранящейся в двоичных файлах системы. Есть ли способ получить псевдонимы в Zsh?

Томас Уорд
источник

Ответы:

43

Вы можете сделать это командой "alias" с этим синтаксисом:

alias [ -gmrL ] [ name[=value] ... ]

для переключателей "gmrL" см. это руководство, которое является моей ссылкой. Для каждого имени без значения zsh напечатает имя и то, к чему оно было привязано ранее. При отсутствии аргументов alias печатает значения ВСЕХ определенных псевдонимов.

Чтобы определить один или несколько псевдонимов, просто введите

alias name1=value1 name2=value2 ... nameX=valueX

Для каждого имени с соответствующим значением zsh определяет псевдоним с этим значением. для получения дополнительной информации, проверьте эту ссылку ;-)

Обновление: обновлена ​​неработающая ссылка.

sazary
источник
Этот документ точно ответил на мой вопрос. Большое спасибо.
Томас Уорд
Эта ссылка не работает.
Сохам Чоудхури
обновил ссылку.
сазары
8
в этом ответе пропущена часть о том, где сохранить псевдонимы, в ответ на Куртозис он включен (.zshrc).
Феликс
1
Я использую ~/.profileдля хранения всех псевдонимов я небезразличен и источником ~/.profileего из ~/.zshrc.
Данба
140

Я перехожу между bash и zsh и использую один и тот же файл .aliases для обоих. Они используют один и тот же базовый синтаксис псевдонимов, поэтому вы можете создать файл .aliases и связать его с .bashrc и .zshrc:

.bashrc:

if [ -f ~/.aliases ]; then
    . ~/.aliases
fi

.zshrc:

source $HOME/.aliases

Между прочим, это также можно сделать с помощью объявлений переменных среды в отдельном файле .env .

эксцесс
источник
Я только что добавил источник ~ / .bash_aliases в конец .zshrc, чтобы все псевдонимы работали как на bash, так и на zsh
talsibony
@ talsibony вот так: ~/ .bash_aliasesмне нужна небольшая помощь, пожалуйста, если вы там, ответьте
lewis4u
@ lewis4u Между ~ / и .bash_aliases не должно быть пробела. Это должно быть точно ~ / .bash_aliases.
Эксцесс
Ваши ссылки не работают ..
Ilan.b
10

Вы обычно кладете их ~/.zshenv. Но многие программы используют /bin/sh(обычно bash) вместо того, $SHELLчтобы выполнять команды оболочки, поэтому для того, чтобы он работал везде, вам, возможно, потребуется bashв ~/.bash_aliasesлюбом случае поместить эквивалент псевдонима .

geekosaur
источник
Это только для моей учетной записи, поэтому его не нужно копировать в файл ~ / .bash_aliases.
Томас Уорд