¿Es posible personalizar el mensaje para mostrar si hay trabajos en segundo plano?

¿Es posible personalizar el mensaje para mostrar si hay trabajos en segundo plano?

¿Es posible personalizar el indicador de bash para mostrar si hay trabajos en segundo plano? Me resulta fácil olvidar que hay trabajos en segundo plano.

Di si el mensaje fue...

$

¿Hay alguna manera de hacer que muestre la cantidad de trabajos en segundo plano? Por ejemplo, si se enviaran dos trabajos en segundo plano mediante CTRL+Z, el mensaje sería...

2 $

Respuesta1

Pon \jtu mensaje. Desde elmanual de bash:

\j El número de trabajos gestionados actualmente por el shell.


Sólo recuerde que los mensajes se vuelven obsoletos y los trabajos pueden finalizar en cualquier momento, por lo que si dejó el terminal inactivo, querrá volver a mostrar el mensaje.


A costa de requerir un proceso adicional solo para imprimir su mensaje, puede hacer que \japarezca solo si existe algún trabajo.

PROMPT_COMMAND='hasjobs=$(jobs -p)'
PS1='${hasjobs:+\j }\$ '

Respuesta2

En zsh, puede utilizar %jpara indicar la cantidad de trabajos y "%1(j.%j.)"mostrar la cantidad de trabajos si hay al menos uno en ejecución y, de lo contrario, no mostrar nada (en lugar de 0). P.ej. RPROMPT="%1(j.%j.)"para mostrarlo en el mensaje del lado derecho.Más información en el manual.yesta respuesta SO.

información relacionada