Wie erstelle ich eine Zuordnung für das $-Zeichen in Bash? = Verwenden Sie „Bind“

Wie erstelle ich eine Zuordnung für das $-Zeichen in Bash? = Verwenden Sie „Bind“

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 -pund 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).

verwandte Informationen