
Ich möchte einige nur für ein Verzeichnis definieren alias iex="iex -S mix"
– dieser Alias sollte nur funktionieren, wenn ich cd
in dieses Verzeichnis gehe. Eine weitere Anforderung – diese Funktionalität sollte in diesem Verzeichnis, dieser hook
Datei oder etwas anderem platziert werden, da ich dieses Verzeichnis als Git-Repository freigeben möchte.
Wie kann ich das machen?
Antwort1
Wenn Sie iex
wollennurin einem Verzeichnis arbeiten undniemalsVersuchen Sie anderswo Folgendes:
alias iex='[ $(pwd) = /path/to/special/dir ] && iex –S mix'
Wenn Sie iex
in 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 aliases
die Aliase an, die lokal in einem Verzeichnis vorhanden und dauerhaft sind, da sie in einer Datei .locals
des 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.