Soy un nuevo usuario de Ubuntu / Linux, me gustaría hacer una pregunta como mi título anterior.
Por ejemplo, tengo un archivo bash ./script, me gustaría que se ejecute automáticamente cuando escribo cualquier línea de comando. Una vez que ejecuto línea de comandos pwd, entonces el ./scriptse ejecutará. Una vez que escriba la siguiente línea de comandos ls -la, entonces el ./scriptse ejecutará de nuevo.
                    
                        command-line
                                bash
                                scripts
                                execute-command
                                
                    
                    
                        Ender Phan
fuente
                
                fuente

Respuestas:
Necesitas establecer
PROMPT_COMMANDvariable. Deman bash:Por ejemplo, esto escribirá la fecha actual
/tmp/PCcada vez que se ejecute un comando:fuente
echo $(date)se ejecutará en el momento de la declaración, por lo que siempre se mostrará (guardará) al mismo tiempo.Está buscando una
PROMPT_COMMANDvariable de entorno, el valor de esta variable se ejecutará como comando, después de que se ejecute cada comando dado en el terminal, justo antes de mostrar el siguiente mensaje.Por ejemplo, configúrelo como:
Haga el script
/path/to/script, ejecutable primero.Ahora el script se ejecutará después de cada comando.
Solo para tener en cuenta, si no desea que la variable se exporte, es decir, que sea una variable de shell en lugar de una variable de entorno, suelte
export:De
man bash:fuente
export?exporthará que la variable seaPROMPT_COMMANDuna variable de entorno, es decir, la variable estará disponible para todos los procesos secundarios (por ejemplo, subcapas) del shell actual. Si solo desea limitarlo solo dentro de la sesión de shell actual (variable de shell), elimineexport.exportno es una buena práctica aquí,PROMPT_COMMANDsolo debe establecerse en un archivo de inicio de shell interactivo y no debe ser visible en el entorno