Estoy tratando de escribir un guión pero estoy atrapado aquí. ¡Mira el código por favor!
aug@august:~/play$ for i in {1..100..4}
> do
> echo "august"
> touch august $i+$2
> mkdir dir
¿Hay alguna manera de ir a la línea anterior? Quiero decir que había un tipo incorrecto, lo hice touch august $i+$2
. Presioné la ENTERtecla, así que fui por una nueva línea. ¿Cómo puedo volver a la línea anterior?
command-line
bash
rɑːdʒɑ
fuente
fuente
Respuestas:
bash
El editor de línea de comandos no admite esto, ya sea como sugiere anwar o mantenga todo en una línea separada por punto y coma o póngalo en un archivo de script.En una nota al margen,
zsh
tiene características que ayudan con esto. Elzsh
editor de línea (zle
) es un editor con más funciones y admite el movimiento dentro de un comando de varias líneas. Cuando el comando se vuelve demasiado largo para manejarlozle
, tiene una función integradaedit-command-line
, que abre la línea de comandos en su editor favorito. Por lo general, no está vinculado, intente con:Alt-e Ahora debe activarlo, guardar y salir para volver a la línea de comandos.
fuente
Después de presionar Entery recibir un mensaje de error, puede volver al historial:
Simplemente presione la ↑tecla en su teclado para corregir el error tipográfico. Si presiona la ↑tecla, el terminal le mostrará esta línea:
Corrija las cosas mal escritas
touch august $i+$2
y agregue undone
al final del comando.Luego presiona la Entertecla. Esto debería solucionar tu problema.
fuente
como se explica aquí , en bash tienes Comandos para manipular el historial como se indica en su manual. Uno de ellos es
edit-and-execute-command
.Esto abrirá su editor con sus comandos ya escritos en un archivo temporal y puede corregir líneas anteriores fácilmente. Puede lograr esto en modo emacs
C-xC-e
y en modo vi presionandov
en modo normal.fuente
Esto es lo que funcionó para mí.
CTRL+ Cde la corriente
command
. Luego presione el ↑. Ahora puede editar la línea que desee moviéndose conarrow buttons
- ← ↑ →o ↓.Buena suerte...
fuente