Ho un .bashrcfile di una riga nella mia directory home:
alias countlines='find . -type f -print0 | xargs -0 cat | wc -l'
Ma non sta creando l'alias. Perché potrebbe essere?
Ho un .bashrcfile di una riga nella mia directory home:
alias countlines='find . -type f -print0 | xargs -0 cat | wc -l'
Ma non sta creando l'alias. Perché potrebbe essere?
Risposte:
In OSX, .bash_profileviene utilizzato al posto di .bashrc.
E sì, il .bash_profilefile dovrebbe trovarsi in /Users/YourName/
(In altre parole, ~/.bash_profile)
Per esempio, /Users/Aaron/.bash_profile
source ~/.bashrc
.[bash_]profilee .bashrcpuò essere utilizzato su OS X e Linux. Il primo viene caricato quando la shell è una shell di login; quest'ultimo quando non lo è. La vera differenza è che Linux esegue una shell di accesso quando l'utente accede a una sessione grafica e quindi, quando si apre un'applicazione terminale, quelle shell sono shell non di accesso; mentre OS X non esegue una shell all'accesso grafico e quando si esegue una shell da Terminal.app, questa è una shell di accesso.
Se vuoi che i tuoi alias funzionino nelle shell di login e non login (e di solito lo fai), dovresti metterli in .bashrc e source .bashrc nel tuo .bash_profile, con una linea come questa:
[ -r ~/.bashrc ] && source ~/.bashrc
Questo vale per qualsiasi sistema che utilizza bash.
PATH=$PATH:/my/private/binariesporterà a PATH bloat. Vedi questo per una soluzione alternativa.
.profileanziché .bashrc.
.profile_...?
Su Mac OS X Yosemite , esegui il seguente comando:
vi ~/.profile
Quindi aggiungere la seguente riga:
source ~/.bashrc
Ora salva e chiudi .profile, quindi apri una nuova finestra Terminale o esegui semplicemente:
source ~/.profile
Vedi anche questa risposta . Ha funzionato su v10.10.3.