Iniciar script después de que finalice el comando
-
29-09-2020 - |
Pregunta
Me encuentro ejecutando algunos scripts/comandos largos y no quiero esperar a verlos hasta que finalice.Por otro lado, me gustaría saber inmediatamente cuando termina.Sé que puedes hacer el truco con &&
, pero parece mucho escribir.
¿Hay alguna manera de hacer esto colocando un gancho posterior a la ejecución en bash?Sé que esto está relacionado con Bash y no tanto con OS X, pero tal vez haya algo oculto en OS X.
Solución
No hay un gancho posterior a la ejecución, solo un gancho previo a la ejecución:si está configurado, el valor de la variable shell PROMPT_COMMAND
se ejecuta antes de emitir el mensaje.Ver hombre golpe para detalles.
Una opción sería crear una función que le indique a la Terminal que emita un pitido después de ejecutar el comando largo, para saber cuándo finaliza.Tal función sería:
$ function r { $@; beep; yourscript; }
Su secuencia de comandos se iniciará automáticamente después de que la Terminal emita un pitido.
Utilice la función para ejecutar esos comandos largos como este:
$ r longcommand
Puedes agregar la función a tu .bashrc
archivo para evitar definirlo cada vez.
Si no eres fanático de las campanas audibles, puedes decirle a Terminal que parpadee: