por que .profile no diretório inicial não funciona ao fazer login


0

Eu sou um novato no UNIX. Estou usando o mac OS X 10.8. Eu criei .profile no diretório inicial. No entanto, ele não funciona quando o login. Eu sempre tenho que forçá-lo a trabalhar com o comando $ . ~/.profile. Alguém pode explicar isso para mim?

Outra pergunta, tento escrever um nome Cshell wld e torná-lo executável. No entanto, não posso chamá-lo apenas digitando $ wld. Eu tenho que escrever $./wld. Como fazê-lo funcionar normalmente?

Respostas:


2

~ / .profile não é lido pelo bash, se ~ / .bash_profile ou ~ / .bash_login existir. Lembre-se também de que ~ / .profile é executado pelo interpretador de comandos para shells de login e ~ / .bashrc é executado para shells sem login. Você pode ler mais aqui: http://stefaanlippens.net/bashrc_and_others

Os scripts geralmente são colocados em ~ / .bashrc e existe esse código em ~ / .profile:

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

Observe que o OS X, por padrão, executa um shell de logon para uma nova janela do Terminal.
slhck

@ Nykakin: obrigado, tentei usar ~ / .bash_profile. Funciona. Eu também quero praticar Cshell como escrevi na segunda questão, como posso executar arquivo executável wld apenas digitando $ wldem vez de$ ./wld
HuongOrchid

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.