Как определить псевдоним только для некоторого каталога?

Как определить псевдоним только для некоторого каталога?

Я хочу определить некоторые alias iex="iex -S mix"только для одного каталога - этот псевдоним должен работать только тогда, когда я cdперехожу в этот каталог. Другое требование - эта функциональность должна быть размещена внутри этого каталога, hookфайла или чего-то еще, потому что я хочу поделиться этим каталогом как git-репо.

Как мне это сделать?

решение1

Если вы iexхотитетолькоработа в одном каталоге иникогдагде-нибудь еще попробуйте это:

alias iex='[ $(pwd) = /path/to/special/dir ] && iex –S mix'

Если вы хотите iexработать по-другому в других каталогах, попробуйте сделать так:

alias iex='[ $(pwd) = /path/to/special/dir ] && iex –S mix || iex'

решение2

Моя текущая версия разработки Bourne Shell (bosh) реализует эту функцию с 6 jears. Проверьте страницу man:

http://schillix.sourceforge.net/man/man1/bosh.1.html

и взгляните на local persistent aliases- псевдонимы, локальные по отношению к каталогу и постоянные, поскольку они хранятся в файле .localsсоответствующего каталога.

Мне интересна обратная связь, в частности, должны ли быть также .locals.#, где # — идентификатор пользователя, которому разрешено их использовать.

Связанный контент