Portanto, não tenho .bash_profile
nenhum .profile
na minha pasta pessoal. Como eu os crio? Depois disso, o que devo fazer toda vez que abrir o terminal, esses arquivos serão lidos?
Você pode usar o touch
comando
Por exemplo,
cd ~
para ir para o diretório inicial.
Agora vamos criar um arquivo chamado .bash_profile
(o ponto significa que ele estará oculto).
Em seguida, use nano
ou vi
no terminal. A menos que você saiba o que vi
é, basta usar nano
. Para abrir esses arquivos, você usaria:
sudo nano .bash_profile
sudo
garante que você poderá salvar esses arquivos. Aqui, você pode adicionar aliases
. nano
ou vi
criará automaticamente um novo arquivo se ele não existir no seu diretório atual no Terminal.
Depois de terminar, pressione Ctrl+ O, Entere Ctrl+ Xpara salvar e sair. Finalmente, use
source ~/.bash_profile
para recarregar o Terminal e ele lerá o que você coloca nesses arquivos.
Claro, você também pode usar o alias se quiser. :)
Para responder à sua pergunta final, esses arquivos serão lidos automaticamente toda vez que você abrir o Terminal. No entanto, se houver um erro (por exemplo, não coloque espaços entre aliases), ele informará.
Como George apontou, .bash_profile
será executado apenas nos shells de login. Para shells sem login, você precisaria criar um .bashrc
arquivo com:
sudo nano .bashrc
touch
para criar arquivos vazios primeiro?nano
faz isso automaticamente de qualquer maneira.~/.profile
como cópia~/.bash_profile
? E se você tem os dois, o que você tem por dentro~/.profile
que não pode ser feito~/.bash_profile
?sudo
garante que você estrague os direitos do usuário. Não faça isso.Você pode copiar esses arquivos de / etc / skel / que são arquivos de esqueleto para novos usuários criados por comando como useradd em distros baseadas no Debian:
Esses arquivos serão carregados automaticamente pelo shell sempre que você efetuar login. A maneira de carregar esses arquivos de perfil é descrita na página de manual do shell. Caso você use o bash shell de maneira especial (por exemplo, via ssh, ansible, etc ...), use o comando 'bash -ilc "que deseja executar no ENV preparado por esses arquivos de perfil"'. -i significa shell interativo que geralmente é exigido pelo .bashrc -l shell de logon que faz com que o .profile seja carregado (ou o .bash_profile existe - consulte a página de manual do bash) que carrega o .bashrc
fonte
Eu prefiro usar editores de texto da GUI, como BBEdit ou TextWrangler. Esses editores de texto podem lidar com arquivos invisíveis, como .profile e .bash_profile, e têm a vantagem de ter uma interface GUI, ao contrário do nano, que é uma interface do console.
TextWrangler
BBEdit
fonte
Você também pode usar um editor de texto da GUI como o TextEdit:
open -e
é um atalho paraopen -a TextEdit
.Você não precisa necessariamente criar .profile ou .bashrc. O Terminal e o iTerm 2 abrem novos shells como shells de login, para que o bash não leia .bashrc. Se existirem .bash_profile e .profile, o bash lê apenas .bash_profile quando é chamado como um shell de logon interativo. .profile é lido pelo ksh quando é chamado como um shell de login interativo e pelo bash quando é chamado como sh como um shell de login interativo.
Na verdade, eu disse ao iTerm 2 para abrir novos shells como shells sem login, e meu .bash_profile contém apenas uma linha como
. ~/.bashrc
. O tmux e o modo shell no emacs abrem novos shells como shells sem login por padrão. .bash_profile ainda é lido quando ssh no meu computador.fonte
~/.bash_profile
e~/.profile
? E você também tem~/.bashrc
?. ~/.bashrc
.