Eu adicionei alguns comandos cd blá blá como alias em meu .bash_login para facilitar a mudança de diretórios. de repente ele iria parar de funcionar. Alguma sugestão? (Eu reiniciei meu sistema)
Peço desculpas, eu realmente pretendia escrever .bash_login
Responder1
Aliases não são exportados. Ou seja, um alias definido em um shell não faz parte do ambiente herdado por nenhum shell filho. Portanto, o melhor lugar para definir aliases é em seu ~/.bashrc, não em seu ~/.bash_profile ou ~/.profile, já que o primeiro será originado por qualquer shell interativo, enquanto os dois últimos serão originados apenas por shells de login .
Responder2
Use o alias
comando no shell para confirmar se eles estão realmente sendo criados ou não. Além disso, você está usando apenas o programa Mac Terminal.app? Em algum lugar nas opções deve haver uma configuração que você pode configurar para usar o que é chamado de shell de login. É assim que o arquivo .bash_profile será originado.
Responder3
O arquivo .bash_profile provavelmente não está sendo lido pelo seu shell na inicialização. Muitas distros têm algo assim em seu .bashrc padrão:
if [ -f ~/.bash_profile ]; then
. ~/.bash_profile
fi
Se você estiver usando apenas aliases, recomendo que você nomeie o arquivo ~/.bash_aliases:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Tudo o que faz é verificar se o arquivo existe e, em caso afirmativo, executar os comandos nele contidos. No seu caso, os comandos alias. Coloque isso em seu .bashrc e seus problemas deverão ser resolvidos.
EDIT: Na verdade é um pouco mais complicado que isso. Minha solução funcionará, mas vale a pena ler.bash_profile versus .bashrc
PS: Raramente é necessária uma reinicialização para corrigir um problema em um sistema *nix. Um logout e login no máximo.
Responder4
Se o que você está tentando fazer é facilitar a mudança de diretórios, veja $CDPATH
:
CDPATH The search path for the cd command. This is a colon-separated list of
directories in which the shell looks for destination directories
specified by the cd command. A sample value is ".:~:/usr".
Usando o exemplo acima, adicione o seguinte ao seu perfil:
CDPATH=.:~:/usr
Então, não importa em qual diretório você esteja, você poderá acessar facilmente os diretórios filhos de ~
ou /usr
.
$ pwd
/var/log
$ cd bin
$ pwd
/usr/bin