¿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 \j
tu 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 \j
aparezca solo si existe algún trabajo.
PROMPT_COMMAND='hasjobs=$(jobs -p)'
PS1='${hasjobs:+\j }\$ '
Respuesta2
En zsh, puede utilizar %j
para 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.