Okay, hör mir zu. Ich möchte eine Art Mapping für das Dollarzeichen $ in Bash erstellen. Es ist das am häufigsten verwendeteSonderzeichenfür mich und nicht im geringsten schwierig. Ja, ich könnte einen AutoHotKey oder ein Linux-Äquivalent für die Feststelltaste erstellen. Aber innerhalb von Bash funktioniert die Verwendung eines Alais nicht, da sie nicht über die erste Position $0 hinaus erweitert werden und auch nicht wirklich dafür gedacht sind. Was wichtig ist, da ich $var_name ständig als Argumente verwende. Funktionen können nur mit dem Befehl „type“ angezeigt werden.
Ich würde einen Schlüssel wie xx oder verwenden und dann den Alias erweitern oder eine andere ähnliche Operation ausführen, um ihn durch $ zu ersetzen. Der Schlüssel ',' ist ein arithmetisches Zeichen und reserviert, obwohl ich damit einen Alias erstellen konnte, der erweitert wird (nur an der ersten Position).
Irgendwelche Lösungen oder Vorschläge? Danke.
Verwandter Thread zur Alias-Erweiterung:wie erweitere ich Aliase inline in Bash?
Hier ist die Antwort von unten mit ',,', exportierbar in Bash, plus eins für das letzte Argument und das Hilfe-Flag:
bind '",,": "$"'
echo "bind '\",,\": \"\$\"'">>~/.bashrc
echo "bind '\",l\": \"\$_\"'">>~/.bashrc
echo "bind '\",h\": \"--help\"'">>~/.bashrc
echo "function helpany { \$1 --help || help \$1 || man \$1 || info \$1; }">>~/.bashrc
Und meine Liste von Aliasen, Funktionen und Bindungen in einem öffentlichen Gist:https://gist.github.com/auwsom/804b4470d22ae00d113cbf5b4eaba73c
Antwort1
Es gibt eine Möglichkeit in Bash: diebindenBefehl.
Dies wird Ctrleauf "$" abgebildet.
bind '"\C-e": "$"'
Sehen Sie sich die aktuellen Bash-Tastenkombinationen an bind -p
und wählen Sie eine Tastenfolge aus, die Sie leicht eingeben können und die für nichts anderes verwendet wird (und die Sie beibehalten möchten).