¿Por qué no se obtiene .profile al abrir una terminal?

36

Acabo de instalar Ubuntu 14.04.1 LTS.

Según .profile,

# ~/.profile: executed by the command interpreter for login shells. 
# This file is not read by bash, if ~/.bash_profile or ~/.bash_login exists.

No hay ~ / .bash_profile o ~ / .bash_login.

No parece originar .profile al abrir una terminal.

  1. ¿Por qué no obtiene .profile al abrir una terminal?
  2. ¿Por qué existe .profile allí si no se obtiene?
  3. ¿Cómo sé / controlo lo que se obtiene cuando se abre un nuevo terminal?
  4. Cuando se abre un nuevo terminal, ¿hace un "inicio de sesión"?
  5. ¿Dónde es un buen lugar para agregar $ HOME / bin a mi ruta? .bashrc? ¿Causará un problema porque .profile tiene el mismo código?
B Seven
fuente

Respuestas:

34
  1. Debido a que los terminales no suelen ejecutar shells de inicio de sesión de forma predeterminada. También suelen tener opciones para ejecutar shells de inicio de sesión, que son fuente .profile.
  2. Para controlar el comportamiento de los shells de inicio de sesión.
  3. Depende del caparazón. Para bashver el conjunto de archivos de inicio .
  4. No en cierto sentido (actualizar registros de inicio de sesión, por ejemplo).
  5. Si usted tiene una carpeta llamada binen $HOME, el valor por defecto .profilepara Ubuntu hace añadirlo a su PATH. Dado que .profilese origina en el inicio de sesión (incluso con un inicio de sesión de GUI), debe formar parte de los PATHshells que no se inician después de un reinicio de sesión. No está mal si un directorio aparece dos veces PATH, vea esta pregunta de U&L para más detalles.
muru
fuente
3
OK, ahora tiene sentido. Necesita volver a iniciar sesión en la GUI para ver los cambios en .profile.
B Seven
1
@BSeven, siempre puede obtenerlo manualmente para cada shell de línea de comandos: . .profileo source .profile.
muru
. .profilees genial y nunca lo había visto antes. No se pudo encontrar mucha información sobre el comando de período. ¿Puede proporcionar una referencia y enlaces a otros atajos útiles? ¡Gracias!
B Seven
1
@BSeven para comandos de shell como .o source, puede usar help: help .por ejemplo. En general, consulte la Guía para principiantes de TLDP Bash, Capítulo 3 . La Guía para principiantes de Bash está algo anticuada en algunos lugares, pero es buena como punto de partida. O vea otros enlaces en una de mis otras respuestas .
muru
8

Descubrí que tenía que editar el perfil predeterminado. En el terminal, haga clic en Preferencias> Perfiles> Editar> Comando> Ejecutar comando como shell de inicio de sesión

Posteriormente, los nuevos terminales obtendrían el script .profile .

ingrese la descripción de la imagen aquí

Billious
fuente
1
IIUC es un truco porque normalmente se supone que .profile se obtuvo antes de iniciar el terminal de la GUI y es redundante obtenerlo nuevamente cada vez que genera una ventana de terminal.
Mu Mind