No bash você pode definir várias funções:
function command_name
{
trap ':' 2
command to set desired color(s)
full_path_to_command "$@"
command to restore default color(s)
}
para cada comando / programa que você deseja ter em uma cor diferente. Por exemplo,
function date
{
trap ':' 2
echo "3[31m\c"
/bin/date "$@"
echo "3[30m\c"
}
O comando trap
faz com que a função continue em execução se você interromper o programa (digitando Ctrl + C ). Sem ele, se você digitar Ctrl + C enquanto seu programa colorido estiver rodando, seu terminal ficará na cor daquele comando. (Pode haver maneiras melhores de lidar com isso.)
"$@"
é substituído pelos argumentos que você digita para a função, portanto, se você diz date -u
, ele sabe passar a opção -u
para o comando /bin/date
.
Você pode querer definir uma função que não faz nada além de restaurar suas cores padrão. Como isso não precisa levar argumentos, isso pode ser feito como alias
.