En Matlab, hay una característica muy buena que me gusta. Supongamos que he escrito el comando very-long-command
y luego algunos comandos varios después. Luego, más tarde, si necesito el comando largo de nuevo, simplemente escribo very
y presiono la tecla de flecha hacia arriba, aparece mi comando largo. Encuentra el último comando que comienza con very
. No pude hacer lo mismo en la línea de comandos de Unix, cuando trato de hacerlo, ignora todo lo que escribí y vuelve a los últimos comandos en orden cronológico. ¿Hay una manera de hacerlo?Recuperación del historial de comandos similar a Matlab en la línea de comandos de Unix
Respuesta
En bash, golpeando ctrl - r le permita realizar un historial:
$ echo 'something very long'
something very long
$ # blah
$ # many commands later...
(reverse-i-search)`ec': echo 'something very long'
En el fragmento anterior, me golpeó ctrl - r en la siguiente línea después de # many commands later...
, y luego tipeado ec que me devolvió al comando echo. En ese punto, al presionar , ingrese para ejecutar el comando.
Gracias! Tengo otra pregunta rápida, ¿qué pasa si hay dos comandos largos recientemente utilizados que comienzan con eco, ¿cómo puedo cambiar entre los dos con este método? – AgCl
@AgCl: [Esta publicación de blog] (http://ronny.haryan.to/archives/2005/03/14/tip-history-search-in-bash/) explica cómo configurar 'history-search-forward 'y' history-search-backward' para navegar por el historial. –
El enlace de arriba está muerto –
Puede hacer lo mismo con "!". Por ejemplo:
$ echo "Hello"
Hello
$ !echo
echo "Hello"
Hello
Sin embargo, es generalmente una mala idea para hacer este tipo de cosas (¿y si el último comando hizo algo destructivo?). Si espera que reutilice algo, le sugiero que cree un script de shell y lo guarde en algún lugar (cada vez que planeo reutilizar algo, creo un script en ~/.local/bin).
Gracias, está casi tan cerca de Matlab, pero no puedo ver todo el comando antes de presionar enter. Voy a devolver la respuesta cuando tenga suficiente representante. – AgCl
! Echo: p mostrará el comando (bash de todos modos) y puede optar por ejecutarlo o no. –
@Ron, genial. Gracias. –
En bash esta funcionalidad es provista por los comandos history-search-forward y history-search-backward, que por defecto no están vinculados a ninguna tecla (ver here). Si ejecuta
bind '"\e[A":history-search-backward'
bind '"\e[B":history-search-forward'
que hará de flecha hacia arriba y flecha hacia abajo de búsqueda hacia atrás y adelante a través de la historia una cadena de caracteres entre el comienzo de la línea actual y el punto. Vea también this related Stack Overflow question.
- 1. Recuperando el historial de línea de comandos
- 2. Historial de comandos en R
- 3. svn historial a través de la línea de comandos
- 4. Historial de la línea de comandos de Python persistente
- 5. ¿Cómo buscas a través del historial de comandos de vim?
- 6. emular unix 'cortar' usando comandos de línea de comandos/línea de comando de Windows estándar
- 7. buscar y reemplazar desde la línea de comandos de UNIX
- 8. Guardar el historial de comandos en pdb
- 9. Analizador JSON de la línea de comandos Unix?
- 10. Cómo: script de MATLAB que se pueden obtener argumentos de Unix de línea de comandos
- 11. Historial de comandos de Rstudio
- 12. comandos de cadena en la línea de comandos PowerShell
- 13. AIX (vs) Comandos de Unix
- 14. GUID de línea de comandos para Unix y Windows?
- 15. Buscar y reemplazar en comandos del historial de terminales
- 16. Ejecutar Java desde la línea de comandos
- 17. historia búfer de comandos en MATLAB - llamo por número de comandos
- 18. * en la línea de comandos de linux
- 19. Salida a línea de comandos si se inició desde la línea de comandos
- 20. donde se almacena el historial de comandos?
- 21. ¿Generar scripts del servidor SQL desde la línea de comandos?
- 22. ¿Cómo llamar a las funciones de MATLAB desde la línea de comandos de Linux?
- 23. mit-scheme REPL con el historial de línea de comandos y la finalización de la pestaña
- 24. Openssl problemas en la línea de comandos
- 25. Cómo arrancar desde la línea de comandos
- 26. Vim línea de división de comandos
- 27. Comentarios en la línea de comandos Zsh
- 28. línea de comandos análisis arg a través de la introspección
- 29. depuración C# en la línea de comandos
- 30. Ocultar entrada en la línea de comandos
Matlab tiene una buena configuración predeterminada. Siempre me pregunto por qué la gente de Unix no puede proporcionar una buena configuración predeterminada para estas cosas. – compie