如何仅为某些目录定义别名?

如何仅为某些目录定义别名?

我想仅为一个目录定义一些- 该别名仅在我进入该目录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。

相关内容