Por que o .profile não é fornecido ao abrir um terminal?

22

Acabei de instalar o Ubuntu 14.04.1 LTS.

De acordo com o perfil,

# ~/.profile: executed by the command interpreter for login shells. 
# This file is not read by bash, if ~/.bash_profile or ~/.bash_login exists.

Não há ~ / .bash_profile ou ~ / .bash_login.

Não parece originar .profile ao abrir um terminal.

  1. Por que ele não origina .profile ao abrir um terminal?
  2. Por que o .profile existe se não for originado?
  3. Como eu sei / controlo o que é originado quando um novo terminal é aberto?
  4. Quando um novo terminal é aberto, ele faz um "login"?
  5. Onde é um bom lugar para adicionar $ HOME / bin ao meu caminho? .bashrc Isso causará um problema porque o .profile tem o mesmo código?
por B Seven 28.12.2014 / 23:18

2 respostas

23
  1. Porque os terminais geralmente não executam shells de login por padrão. Eles também costumam ter opções para executar shells de login, que fazem a origem .profile .
  2. Para controlar o comportamento de shells de login.
  3. Depende do shell. Para bash , consulte o conjunto de arquivos de inicialização .
  4. Não de algum modo (atualizando registros de login, por exemplo).
  5. Se você tiver uma pasta chamada bin in $HOME , o padrão .profile para o Ubuntu será adicionado ao seu PATH . Como .profile é originado no login (mesmo com um login da GUI), ele deve fazer parte do seu PATH para os shells não-login iniciados após um novo login. Não é errado se um diretório aparecer duas vezes em PATH , consulte este U & amp; ; L questionar para detalhes.
por muru 28.12.2014 / 23:27
-1

Descobri que precisava editar o perfil padrão. Selecione a guia "Título e Comando" e marque a caixa "Executar comando como shell de login". Depois disso, novos terminais criariam o script .profile.

insira a descrição da imagem aqui

    
por Billious 18.04.2018 / 16:06