Perché .profile non proviene quando si apre un terminale?


36

Ubuntu 14.04.1 LTS appena installato.

Secondo .profile,

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

Non esiste ~ / .bash_profile o ~ / .bash_login.

Non sembra generare .profile all'apertura di un terminale.

  1. Perché non genera .profile all'apertura di un terminale?
  2. Perché .profile è lì se non è di provenienza?
  3. Come faccio a sapere / controllare cosa proviene quando viene aperto un nuovo terminale?
  4. Quando viene aperto un nuovo terminale, fa un "login"?
  5. Dove è un buon posto per aggiungere $ HOME / bin al mio percorso? Bashrc? Ciò causerà un problema perché .profile ha lo stesso codice?

Risposte:


34
  1. Poiché i terminali di solito non eseguono shell di login per impostazione predefinita. Di solito hanno anche opzioni per eseguire shell di login, che fanno sorgente .profile.
  2. Per controllare il comportamento delle shell di accesso.
  3. Dipende dalla shell. Per bash, vedere il set di file di avvio .
  4. Non in un certo senso (ad esempio l'aggiornamento dei record di accesso).
  5. Se si dispone di una cartella denominata binin $HOME, il valore predefinito .profileper Ubuntu fa aggiungerlo al tuo PATH. Dato che .profileproviene da login (anche con un login GUI), dovrebbe essere parte del tuo PATHper shell non-login avviate dopo un nuovo login. Non è sbagliato se una directory appare due volte PATH, vedi questa domanda U&L per i dettagli.

3
OK, ora ha senso. È necessario accedere nuovamente alla GUI per visualizzare le modifiche a .profile.
B Seven

1
@BSeven puoi sempre cercarlo manualmente per ogni shell della riga di comando: . .profileo source .profile.
muru,

. .profileè bello e non l'ho mai visto prima. Impossibile trovare molte informazioni sul comando period. Potete fornire un riferimento e collegamenti ad altre scorciatoie utili? Grazie!
B Seven

1
@BSeven per comandi shell come .o source, è possibile utilizzare help: help .ad esempio. In generale, consultare la Guida per principianti di Bash TLDP , capitolo 3 . La Guida per principianti di Bash è in qualche modo datata, ma è un buon punto di partenza. Oppure vedi altri link in una delle mie altre risposte .
muru,


8

Ho scoperto che dovevo modificare il profilo predefinito. Nel terminale, fare clic su Preferenze> Profili> Modifica> Comando> Esegui comando come shell di accesso

Successivamente i nuovi terminali genererebbero script .profile .

inserisci qui la descrizione dell'immagine


1
Questo è un hack perché normalmente .profile dovrebbe essere stato originato prima di avviare il terminale della GUI ed è ridondante cercarlo di nuovo ogni volta che si genera una finestra del terminale.
Mu Mind,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.