Pregunta por qué .profile en el directorio de inicio no funciona cuando inicie sesión


Soy un novato en UNIX. Estoy usando mac OS X 10.8. Creé .profile en el directorio de inicio. Sin embargo, no funciona cuando inicies sesión. Siempre tengo que forzarlo a trabajar usando el comando $ . ~/.profile. ¿Alguien puede explicarlo por mí?

Otra pregunta, intento escribir un nombre de Cshell y hacerlo ejecutable. Sin embargo, no puedo llamarlo simplemente escribiendo $ wld. Tengo que escribir $./wld. ¿Cómo hacer que funcione normalmente?


0


origen




Respuestas:


~ / .profile no es leído por bash, si ~ / .bash_profile o ~ / .bash_login existe. Recuerde también que ~ / .profile es ejecutado por el intérprete de comandos para los shells de inicio de sesión y ~ / .bashrc se ejecuta para los shells que no son de inicio de sesión. Puede leer más aquí: http://stefaanlippens.net/bashrc_and_others

Los scripts generalmente se colocan en ~ / .bashrc y hay este código en ~ / .profile:

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

2



Tenga en cuenta que OS X de forma predeterminada ejecuta un shell de inicio de sesión para una nueva ventana de Terminal. - slhck
@Nykakin: gracias, he intentado usar ~ / .bash_profile. Funciona. También quiero practicar Cshell como escribí en la segunda pregunta, ¿cómo puedo ejecutar el archivo ejecutable wld simplemente escribiendo $ wld en lugar de $ ./wld - HuongOrchid
Mira aquí: washington.edu/computing/unix/searchpath.html - Nykakin