Come posso avere la mia shell sempre avviata in una determinata directory che non è la mia home directory

16

Ho provato a mettere

cd /Users/my_name/my_directory/structure

in .bashrc e .bash_login ma non funziona, cioè quando apro una nuova finestra di terminale sono nella directory home (/ Users / my_name /).

Nessun messaggio di errore, solo non cd'd nella directory come sperato all'avvio di una nuova finestra di terminale.

    
posta Michael Durrant 30.08.2012 - 17:34
fonte

2 risposte

4

Come ha detto Gerry, .bashrc non viene letto dalle shell di login. Le nuove schede sono shell di login per impostazione predefinita in Terminal e iTerm 2. .bash_login viene letto solo se non c'è .bash_profile .

Potresti anche aggiungere un comando cd a .bash_profile .

    
risposta data 31.08.2012 - 08:23
fonte
27

Prima di tutto, se non usi già iTerm2, ti suggerisco di scaricare questo software gratuito in sostituzione di Terminal.app.

Tra le molte altre funzionalità extra, in Preferenze iTerm, puoi configurare la directory di lavoro predefinita per le nuove shell. Troverai queste impostazioni in Profili - Generale.

Il vantaggio qui è che puoi impostare diversi comportamenti per aprire una nuova finestra o aprire una nuova scheda o persino creare un nuovo riquadro diviso. Ad esempio, mi piace rimanere nella directory di lavoro corrente quando aggiungo un riquadro diviso, per esempio.

Potresti farlo anche nel tuo script di avvio (anche se trovo la soluzione iTerm più pulita, o almeno più flessibile), ma poi ti consiglio di usare ~/.bash_profile invece.

~/.bashrc è non originato automaticamente all'apertura di una nuova finestra di shell e ~/.bash_login viene fornito solo se non è presente ~/.bash_profile .

    
risposta data 30.08.2012 - 17:42
fonte

Leggi altre domande sui tag