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:
bashEl 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,
zshtiene características que ayudan con esto. Elzsheditor 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+$2y agregue undoneal 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-ey en modo vi presionandoven 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