Bash Prompt Colors Ubuntu

2

Estou tentando usar um script de shell simples em uma instalação do servidor Ubuntu 12.04 de base para definir cores de prompt para os usuários em todo o sistema.

Eu gostaria que o Puppet colocasse o arquivo color.sh em /etc/profile.d/ - com permissão 744

mas o arquivo não está sendo originado pelos usuários. ~ / .bashrc parece substituir isso.

    if [[ ${EUID} == 0 ]] ; then
        PS1="\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] "
else
        PS1="\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] "
fi

Eu preferiria não manipular os arquivos ~ / .bashrc com o Puppet, mas ao invés disso, trabalhe globalmente com o script profile.d

    
por sepulworld 19.03.2013 / 07:05

1 resposta

2

O padrão Ubuntu ~ / .bashrc irá sobrescrever qualquer valor anterior do PS1, que é o que você está vendo. Você poderia tornar o PS1 somente para leitura

declare -r PS1=...

mas isso fará com que o padrão ~ / .bashrc emita

-bash: PS1: readonly variable

que pode não ser desejável. Você pode editar /etc/skel/.bashrc para remover as linhas que configuram o PS1 para que os novos usuários não obtenham scripts de inicialização que, por padrão, tentem substituir sua definição PS1 global. Isso não os impedirá de adicionar suas próprias definições de PS1, mas a mensagem de erro acima indicaria isso.

    
por 19.03.2013 / 09:33