Actualmente tengo un mensaje en bash que llama a una función para emitir el código de retorno de la última ejecución de comandos (si no es cero):
exit_code_prompt()
{
local exit_code=$?
if [ $exit_code -ne 0 ]
then
tput setaf 1
printf "%s" $exit_code
tput sgr0
fi
}
PS1='$(exit_code_prompt)\$ '
Esto funciona bastante bien, excepto por $?
no ajustados a no ser otro comando es ejecutado:
$ echo "works"
works
$ command_not_found
bash: command_not_found: command not found
127$
127$
127$
127$ echo "works"
works
$
¿es posible restablecer/desarmar el valor de $?
para el padre cáscara primera vez exit_code_prompt()
se ejecuta de tal manera que no siga repetir el valor en el símbolo?
Muchas gracias, Steve.
¿Por qué quieres hacer esto? Esto puede ocasionarle problemas adicionales, si desea probar algún fragmento de script manualmente sobre la línea de comando. – anishsane