O .profile
data da shell Bourne original, conhecido como sh
. Como o shell% GNUbash
é (dependendo de suas opções) um superconjunto do shell Bourne, ambos os shells podem usar o mesmo arquivo de inicialização. Ou seja, desde que apenas os comandos sh
sejam colocados em .profile
Por exemplo, alias
é um comando interno válido de bash
, mas desconhecido para sh
. Portanto, se você tivesse apenas um .profile
em seu diretório inicial e colocasse uma instrução alias
, sh
iria reclamar. Portanto, há um arquivo específico do bash que possui comandos de inicialização do shell que o bash lerá se e somente se não houver um arquivo .profile
presente.
Na verdade isso é uma simplificação em algumas instalações, e eu não estou familiarizado com o Fedora. Sob bash, /etc/profile
é lido pelo shell antes de qualquer arquivo em seu diretório inicial. Se houver um script de inicialização do sistema, ele geralmente diz algo como
if there is a $HOME/.profile:
source it
elseif bash is my shell and there is a $HOME/.bash_profile:
source that
Por que isso é assim? Uma tentativa de compatibilidade entre décadas de dialetos de shell. Por que o tutorial é escrito dessa maneira? A shell Bourne não é mais usada com frequência e algumas pessoas nem sabem que existe outra shell semelhante a Bourne que a bash. Mesmo quando a sintaxe Bourne (limitada) é usada para maior compatibilidade entre plataformas, ela está sendo executada com frequência por dash
ou bash no modo de compatibilidade POSIX. De fato, a fonte real do shell Bourne é provavelmente um componente de direitos autorais do Unix System V, que parece ser propriedade da Novell agora mas eu não tenho idéia do que, se alguma coisa, eles estão fazendo com isso.
Para o usuário iniciante, use $HOME/.profile
ou $HOME/.bash_profile
, mas não ambos, e você ficará bem. Já que você já tem um .bash_profile
, trabalhe com ele, porque ele pode ter coisas específicas do sistema que sua instalação precisa.