modificação HISTTIMEFORMAT. Em /etc/bash.rc ou / etc / profile? [duplicado]

9

Gostaria de adicionar a data / hora à saída do comando history no CentOS / RHEL 6. Gostaria que isso se aplicasse a todos os usuários na máquina por padrão. Isso em si é fácil. Parece ser apenas um caso de adicionar:

export HISTTIMEFORMAT="%Y%m%d %T  "

Onde isso deve ser adicionado? Eu vi algumas informações conflitantes sobre adicionar isso a /etc/profile ou /etc/bashrc . Eu acredito que ambos funcionariam igualmente bem.

Alguém tem algum conselho sobre qual arquivo eu devo usar para essa modificação específica?

    
por batfastad 29.10.2013 / 00:48

2 respostas

4

Eu criaria um arquivo com essa string e o adicionaria a este diretório, /etc/profiled.d . Chame o arquivo custom_histformat.sh ou algo semelhante.

Geralmente, você não deseja adicionar personalizações a nenhum desses 2 arquivos ( /etc/profile ou /etc/bashrc ), pois eles são de propriedade do sistema. As personalizações podem ir para o diretório /etc/profile.d .

UPDATE # 1

Correndo o risco de vencer um cavalo morto, achei importante destacar por que alguém usaria /etc/profile.d sobre os diretórios mencionados na pergunta ou em @ Gilles answer .

Se você examinar qualquer um dos testes em torno do RHCE, eles especificarão que /etc/profile.d é um local apropriado para fazer esse tipo de alteração. Então, se você está fazendo o teste e respondendo alguma coisa diferente disso, ou /etc/bashrc ou /etc/profile , você estaria errado. Chame isso de RH-ismo, mas é assim que é feito nas distribuições baseadas no Red Hat. Outras distros têm outras abordagens.

por 29.10.2013 / 00:59
3

Se você definir uma variável de ambiente para todos os usuários, ela pertence a /etc/profile ou /etc/environment . Se você definir uma variável de ambiente para sua conta, ela pertence a ~/.environment ou ~/.profile .

HISTTIMEFORMAT funciona se você configurá-lo no ambiente, mas você não deve fazer desta forma, porque diferentes shells podem interpretá-lo de forma diferente. (Eu não acho que isso é um problema para esta variável em particular.) Você deve, em vez disso, configurá-lo no arquivo de inicialização do bash: ~/.bashrc . Algumas instalações têm um arquivo de inicialização bash do sistema como /etc/bashrc , mas como essa é uma preferência do usuário, você não deve usar isso.

Coloque HISTTIMEFORMAT="%Y%m%d %T " em ~/.bashrc .

Para as diferenças entre esses arquivos, consulte Existe um arquivo equivalente ".bashrc" lido por todos os shells?

    
por 29.10.2013 / 01:03