Mit ^W
(unix-word-rubout) kann ich einfach ein einzelnes "Wort" aus dem aktuellen Befehl in meiner Bash-Shell löschen.
Wenn Sie jedoch mit Argumenten in Anführungszeichen arbeiten, die Leerzeichen enthalten (oder mit nicht in Anführungszeichen gesetzten Argumenten, die mit einem Schrägstrich versehene Leerzeichen enthalten), funktioniert dies nicht gut, da nur ein Wort und nicht das gesamte Argument gelöscht wird.
Also suche ich nach einer Möglichkeit, ein ganzes Argument zu löschen.
Beispiel (Cursor steht immer am Ende):
$ foo --bar "foo bar" meow
[black magic]
$ foo --bar "foo bar"
[black magic]
$ foo --bar
[black magic]
$ foo
Antworten:
Bash verfügt über Readline-Befehle, die standardmäßig nicht gebunden sind. Sie finden sie unter der folgenden Referenz: http://www.gnu.org/software/bash/manual/html_node/Bindable-Readline-Commands.html#Bindable-Readline-Commands
Der gesuchte Befehl heißt "shell-backward-kill-word". Sie müssen zuerst die Verknüpfung auswählen. Verwenden wir Strg + p, da dies "vorheriger Befehl" ist - genau wie Pfeil nach oben.
quelle