ubuntu: profile.d e .bash_profile ausentes

ubuntu: profile.d e .bash_profile ausentes

Eu fiz algumas leituras sobre inicialização do Linux, etc. e notei que no meu diretório pessoal não há uma pasta profile.d:

/home/user/profile.d/ # Doesn't exists

e nem um arquivo .bash_profile:

/home/user/.bash_profile # Doesn't exists

existe uma razão para isso?

Ubuntu 15.04, gnomo

Responder1

Resposta curta:está tudo bem, então.

Existem muitos arquivos de usuário de inicialização porque um usuário pode decidir fazer login em uma conta de computador de muitas maneiras diferentes, desde o console, com um shell interativo ou não interativo, com diferentes tipos de shells. Não é uma prerrogativa de todos os usuários, mas com a necessidade de manter umcompatibilidade com versões anterioresacabou de complicarum poucoas coisas. :-)

  • Um diretórioprofile.d não deveria estar no seu diretório inicial:
    /etc/profile.dcontém scripts com arquivos de inicialização específicos do aplicativo, que também são executados no momento da inicialização pelo shell. É um diretório válido para todos os usuários, para isso é criado no /etc/caminho e não no diretório inicial de cada usuário.

  • O arquivo ~/.bash_profileé um dos arquivos pessoais de inicialização e quando existe é armazenado na home de cada usuário.Mas não é necessário que exista.Ele deve conter os comandos específicos do bash a serem executados ao iniciar um shell de login ( ~/.profiletambém pode ser lido em diferentes shells, que geralmente entendem uma sintaxe diferente da do bash).


Lendo mais na INVOCATIONseção deman bash

Quando o bash é invocado como um shell de login interativo (...)ele primeiro lê e executa comandos do arquivo/etc/profile, se esse arquivo existir.
Depois de ler esse arquivo, ele procura ~/.bash_profile, ~/.bash_login, e ~/.profile,naquela ordem,e lê e executa comandos do primeiro que existe e é legível.

Portanto, se você tiver um ~/.bash_profilearquivo, ele não será lido ~/.profile, se não for chamado (ou originado) em um dos outros arquivos.

Observe que

Quando um shell interativo que não é um shell de login é iniciado, bash lê e executa comandos de /etc/bash.bashrce ~/.bashrc, se esses arquivos existirem.

De alguma versão do Ubuntu 12 (e com certeza a partir de 13.10) .profileé originado o arquivo ~/.bashrc.

Isso pode causar um comportamento inesperado ao executar shells de login (como quando sshestiver na máquina, por exemplo) onde o usuário não esperaria ter ~/.bashrcorigem.

Referência:

informação relacionada