Выполнение скрипта под псевдонимом

Я пытаюсь использовать псевдоним eclipse для выполнения eclipse -data $(pwd). Однако по какой-то причине добавление этого в мой zshrc не работает:

alias eclipse="eclipse -data $(pwd)"

Кажется, я не могу найти правильный синтаксис - может ли кто-нибудь мне помочь?


person chintanparikh    schedule 14.01.2013    source источник


Ответы (2)


Я не думаю, что вы можете использовать параметры в псевдониме (вот что другое сообщения, похоже, указывают). Вместо этого вы можете определить функцию:

function eclipse () {
     eclipse -data "$(pwd)"
}

Конечно, если вы это сделаете, запуск eclipse даст вам:

eclipse: maximum nested function level reached

Это потому, что как только вы определяете функцию с именем eclipse, которая маскирует внешнюю команду, в результате получается бесконечный цикл рекурсии.

Вместо этого вы можете использовать команду, чтобы указать zsh игнорировать любые псевдонимы или функции с именем eclipse:

function eclipse () {
     command eclipse -data "$(pwd)"
}
person cyfur01    schedule 08.02.2013

В этом случае вы можете использовать `command` для выполнения pwd:

alias eclipse="eclipse -data `pwd`"
person Microfed    schedule 18.02.2013