我想仅为一个目录定义一些- 该别名仅在我进入该目录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 开始就实现了这个功能。检查手册页:
http://schillix.sourceforge.net/man/man1/bosh.1.html
并查看local persistent aliases
- 目录本地别名和持久别名,因为它们保存在.locals
相关目录的文件中。
我对反馈感兴趣,特别是是否还应该有.locals.#
,其中 # 是允许使用它们的用户的用户 ID。