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

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

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

.bashrc

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

.zshrc

source $HOME/.aliases

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

Вы можете сделать это с помощью команды "псевдоним" с таким синтаксисом:

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

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

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

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

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

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

.zshrc

добавьте эту строку в нижней части файла (предполагая, что ваши псевдонимы, расположенные в ~/.profile):

source ~/.profile

Я пробовал кое-что, и я нашел способ использовать мои псевдонимы, созданные в bash, в zsh, только мне пришлось скопировать эти строки из bashrc:

if [-f ~ / .bash_aliases]; then. ~ / .bash_aliasesfi

Я написал это и положил в свой ~/.bashrc давным-давно. Я не описал все, что можно сделать с сохранением ваших настроек, но просто используйте свое воображение!

Примечание: Если вы обновляете ~/.bash_aliases затем обновите ~/.oh-my-zsh/.zsh_aliases тоже.

Спасает ваши ~/.bash_history, ~/.bashrc, ~/.bash_aliases и ~/.profile в Dropbox. Сначала создайте файл с именем в честь ваших файлов в папке Dropbox. Таким образом, независимо от того, где вы его редактируете, если оно отредактировано? Он обновлен на всех ваших устройствах. Добавьте следующие строки в свой ~/.bashrc :

    DBPATH=${HOME}"/Dropbox"; ## Path to your DropBox Folderif [ -d "${DBPATH}" ] then     BA="/.bash_aliases" ## Path to your .bash_aliases Fileif [ ${HOME}"${BA}" -nt ${DBPATH}"${BA}" ] then    cat ${HOME}"${BA}" > ${DBPATH}"${BA}" 2>/dev/null;# If updating ~/.bash_aliases then update ~/.oh-my-zsh/.zsh_aliases Too    cat ${HOME}"${BA}" > ${ZSH}"/.zsh_aliases" 2>/dev/null; fi    BRC="/.bashrc"  ## Path to your .bashrc Fileif [ ${HOME}"${BRC}" -nt ${DBPATH}"${BRC}" ] then    cat ${HOME}"${BRC}" > ${DBPATH}"${BRC}" 2>/dev/null; fi     BPF="/.profile" ## Path to your bash .profile Fileif [ ${HOME}"${BPF}" -nt ${DBPATH}"${BPF}" ] then    cat ${HOME}"${BPF}" > ${DBPATH}"${BPF}" 2>/dev/null; fi    BHT="/.bash_history"    ## Path to your .bash_history Fileif [ ${HOME}"${BHT}" -nt ${DBPATH}"${BHT}" ] then    cat ${HOME}"${BHT}" > ${DBPATH}"${BHT}" 2>/dev/null; fi## First make a file named after your files in the Dropbox folder# That way no matter where you edit konsole bookmarks, If it's edited? # It's up-to-date on all Your devices.    HLS=${HOME}"/.local/shere"    KBM="/konsole/bookmarks.xml"if [ ${HLS}"${KBM}" -nt ${DBPATH}"${KBM}" ]  then        cat ${HLS}"${KBM}" > ${DBPATH}"${KBM}" 2>/dev/null;    fifi