Wie definiere ich einen Alias ​​nur für ein bestimmtes Verzeichnis?

Wie definiere ich einen Alias ​​nur für ein bestimmtes Verzeichnis?

Ich möchte einige nur für ein Verzeichnis definieren alias iex="iex -S mix"– dieser Alias ​​sollte nur funktionieren, wenn ich cdin dieses Verzeichnis gehe. Eine weitere Anforderung – diese Funktionalität sollte in diesem Verzeichnis, dieser hookDatei oder etwas anderem platziert werden, da ich dieses Verzeichnis als Git-Repository freigeben möchte.

Wie kann ich das machen?

Antwort1

Wenn Sie iexwollennurin einem Verzeichnis arbeiten undniemalsVersuchen Sie anderswo Folgendes:

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

Wenn Sie iexin anderen Verzeichnissen anders vorgehen möchten, versuchen Sie es folgendermaßen:

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

Antwort2

Meine aktuelle Entwicklungsversion von Bourne Shell (bosh) implementiert diese Funktion seit 6 Jahren. Schauen Sie sich die Manpage an:

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

und schauen Sie sich local persistent aliasesdie Aliase an, die lokal in einem Verzeichnis vorhanden und dauerhaft sind, da sie in einer Datei .localsdes entsprechenden Verzeichnisses gespeichert sind.

Mich interessiert Rückmeldung, insbesondere ob es auch welche geben sollte .locals.#, wobei # die Benutzerkennung des Benutzers ist, der diese verwenden darf.

verwandte Informationen