Cambie el color de salida del terminal (en Mac) para que sea diferente del color del texto escrito

Sé cómo cambiar el color de la salida de ls, pero me gustaría cambiar el color de todas las salidas de la terminal.

Para aclarar lo que quiero decir, a continuación se muestra una imagen de mi terminal. Mi color de texto es naranja.

Sin embargo, me gustaría que -bash: p: command not found, testy la salida de dfsean de un color diferente, para que sea más fácil ver la diferencia entre lo que escribo. es posible?

ingrese la descripción de la imagen aquí


Así es como se ve con la respuesta de @jmhindle. Puede cambiar el número después de setaf por un color diferente (por ejemplo, 2 para verde).

ingrese la descripción de la imagen aquí

¿Cómo configuró el texto azul y verde en sus capturas de pantalla?
Esto fue hace tanto tiempo que no recuerdo, lo siento

Respuestas (1)

Creo que puedes hacer esto instalando una trampa DEBUG en ~/.bash_profile.

Vea la respuesta a esta pregunta de superusuario .

Agregué lo siguiente:

preexec() { 
    tput setaf 4
    :
}
preexec_invoke_exec() {
    [ -n "$COMP_LINE" ] && return
    local this_command=`HISTTIMEFORMATE= history 1 | sed -e "s/^[ ]*[0-9]*[ ]*//"`;
    preexec "$this_command"
}

trap 'preexec_invoke_exec' DEBUG

tput setaf 4cambia el color de primer plano a azul.

¡Gracias! Actualizaré mi pregunta para incluir cómo se ve ahora.
while :; do [ "${i:=0}" -lt 8 ] || i=0; tput setaf "$i"; sleep .5; : "$((i++))"; done &Una buena (y no destructiva) broma. ;) (Para deshacerse de él, kill %1seguido de tput setaf 7.)
Para mí, esto es cambiar todo el color del texto en la terminal, tanto el texto escrito como la salida.