1

Я пытаюсь настроить псевдоним для своего рабочего каталога, который может меняться при изменении контекста, и я пытался найти что-то достаточно короткое, чтобы заменить его ~ . Я бы пощекотал розовый, если можно было бы иметь одноименное имя для псевдонима. Нравится cd % или что-то? Назначение псевдонима % , похоже, не работает.

Я пытался найти требования для имен переменных, но не смог их найти. Я не знаю, встроенная ли это оболочка, я не могу быть первым, кто захочет это сделать.

Я использую zsh, но я пометил bash на случай, если это возможно в обеих оболочках.

2 ответа2

2

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

alias -g %=/path/to/whereever

Который заменит этот путь на % где-нибудь внутри команды. Вы также можете попробовать:

alias '%'='cd /path/to/whereever'

Теперь % - это команда, чтобы перейти непосредственно в этот каталог. Существует также

hash -d work=/path/to/whereever

Что позволит вам использовать ~work для обращения к этому каталогу.

1

Я не могу говорить с zsh, но для bash псевдонимы используются только для команд, а не аргументов.

Вы, вероятно, хотите написать функцию:

cdw () {
    case $(pwd) in 
        */some/dir)       cd ../work ;;
        */some/other/dir) cd ~/tmp ;;
    esac
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .