Manchmal habe ich gerne sehr angepasste Bash-Aliase und möglicherweise Tastenkombinationen, wenn ich einen Ordner eingebe (kann ein Projekt sein, in dem ich viele Befehle von CLI eingebe).
Nehmen wir an, wenn ich einen Ordner wie "projectAlpha /" eingebe, erwarte ich einige benutzerdefinierte Aliase wie:
alias doTaskX='./app arg1 arg2...|filter arg1 arg2...'
- ...
Mehr als ich dachte an:
- Zeigt eine hilfreiche Meldung mit Aliasnamen und allgemeinen Befehlen an
- Anzeigen einiger allgemeiner benutzerdefinierter Tastenkombinationen für mein Projekt
Sobald ich jedoch das Stammverzeichnis meines Projekts verlasse, sind diese Einstellungen nicht mehr verfügbar.
Was ist heute der beste Ansatz dafür?
Antworten:
Bash hat eine spezielle Variable,
PROMPT_COMMAND
deren Inhalt jedes Mal ausgeführt wird, nachdem der Befehl ausgeführt wurde. Sie können ihn also wie folgt einstellen:Von nun an wird jedes Mal, wenn Sie sich im
/tmp
Verzeichnis befinden, ein Aliasll
erstellt und in allen anderen Verzeichnissen entfernt.Wahrscheinlich ist es praktischer, alle Aliase und andere
makealias
Dinge in einer Funktion (etwa ) und alle Unaliase in der anderen Funktion zu sammeln,makeunalias
die Sie je nach Ihren Anforderungen ausführen können, wie zBeachten Sie, dass die stderr-Umleitung nur vorhanden ist, um in diesem Fall nutzlose Warnungen zu vermeiden.
quelle