Usando ^W
(unix-word-rubout) puedo eliminar fácilmente una sola "palabra" del comando actual en mi shell bash.
Sin embargo, cuando se trata de argumentos entre comillas que contienen espacios (o argumentos sin comillas que contienen espacios con barra invertida) esto no funciona bien ya que solo elimina una palabra y no el argumento completo.
Así que estoy buscando una forma de eliminar un argumento completo.
Ejemplo (el cursor siempre está al final):
$ foo --bar "foo bar" meow
[black magic]
$ foo --bar "foo bar"
[black magic]
$ foo --bar
[black magic]
$ foo
Respuestas:
Bash tiene comandos de línea de lectura que no están vinculados por defecto. Puede encontrarlos en la referencia: http://www.gnu.org/software/bash/manual/html_node/Bindable-Readline-Commands.html#Bindable-Readline-Commands
El comando que está buscando se llama "shell-backward-kill-word". Primero debe seleccionar el acceso directo. Usemos Crtl + p, ya que es "comando anterior", lo mismo que la flecha hacia arriba.
fuente