Perché le modifiche nel file bashrc non funzionano su una nuova finestra di terminale?

0

Sto cercando di aggiungere un alias al file bashrc. Dato che non sono bravo in questo, ho intenzione di scrivere tutti i passaggi che ho seguito

nano ~/.bashrc

Il file conteneva questo

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

Inoltre ho aggiunto il mio alias

dropUpload(){
~/drop.sh upload $1 $2
}
alias dropU=dropUpload

Ha salvato il file e poi lo ha estratto con . ~/.bashrc

Nella stessa finestra ho provato a usare il codice dropU first/url second/url e ha funzionato. Ho chiuso la finestra del terminale e ne ho aperto uno nuovo, il codice non funziona più. L'errore che ottengo è

-bash: dropU: command not found

Se I nano torna al file, il mio nuovo codice è lì. Se re-source il file, il codice funziona. Come posso ottenere questo per persistere?

    
posta relidon 18.03.2016 - 05:20
fonte

1 risposta

2

nel mio ~/.bash_profile hanno questo codice

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

@Mark ha una risposta completa qui .

Ho trovato un link che cancella il caso in FAQ Unix per OSX .

Ha scritto

Bash Startup Files

When a "login shell" starts up, it reads the file "/etc/profile" and then "~/.bash_profile" or "~/.bash_login" or "~/.profile" (whichever one exists - it only reads one of these, checking for them in the order mentioned).

When a "non-login shell" starts up, it reads the file "/etc/bashrc" and then the file "~/.bashrc".

Note that when bash is invoked with the name "sh", it tries to mimic the startup sequence of the Bourne shell ("sh"). In particular, a non-login shell invoked as "sh" does not read any dot files by default. See the bash man page for details.

    
risposta data 18.03.2016 - 05:23
fonte

Leggi altre domande sui tag