如何僅為某些目錄定義別名?

如何僅為某些目錄定義別名?

我想僅為一個目錄定義一些- 該別名僅在我進入該目錄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。

相關內容