Questão por que .profile sob o diretório home não funciona ao efetuar login


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

Outra questão, eu tento escrever um nome de Cshell e torná-lo executável. No entanto, não posso chamá-lo apenas digitando $ wld. Eu tenho que digitar $./wld. Como fazer isso funcionar normalmente?


0


origem




Respostas:


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

Os scripts geralmente são colocados em ~ / .bashrc e há 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

2



Observe que o OS X, por padrão, executa um shell de login para uma nova janela do Terminal. - slhck
@Nykakin: obrigado eu tentei usar ~ / .bash_profile. Funciona. Eu também quero praticar Cshell como eu escrevi na segunda questão, como posso executar o arquivo executável wld apenas digitando $ wld ao invés de $ ./wld - HuongOrchid
Veja aqui: washington.edu/computing/unix/searchpath.html - Nykakin