Waar vind je het .bashrc bestand op Mac OS X Snow Leopard en Lion?
Ik wil rvm installeren op mijn Snow Leopard machine.
Er staat dat ik een regel moet toevoegen aan mijn .bashrc
bestand (ik gebruik bash) maar waar is mijn .bashrc
bestand?
Ik wil rvm installeren op mijn Snow Leopard machine.
Er staat dat ik een regel moet toevoegen aan mijn .bashrc
bestand (ik gebruik bash) maar waar is mijn .bashrc
bestand?
Wat betreft het probleem met .bashrc
hierboven:
Op de meeste systemen wordt ~/.bashrc
alleen gebruikt bij het starten van een interactieve non-login shell. Echter, wanneer je een nieuwe shell opstart is het vaak een interactieve non-login shell. Aangezien dit een login shell is, wordt de .bashrc
genegeerd. Om de omgeving consistent te houden tussen niet-login en login shells, moet u de .bashrc
broncode van uw .profile
of uw .bash_profile
.
Zie de Bash-referentiehandleiding, sectie [ 6]. 2 Bash Startup Files ](http://www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files)
Oproepen als een interactieve login-shell, of met –login
Wanneer Bash wordt aangeroepen als een interactieve login-shell, of als een niet-interactieve shell met de –login optie, leest en voert het eerst commando’s uit vanuit het bestand /etc/profiel, als dat bestand bestaat. Na het lezen van dat bestand, zoekt het naar ~/.bash_profile, ~/.bash_login, en ~/.profile, in die volgorde, en leest en voert het commando’s uit van de eerste die bestaat en leesbaar is.
Geroepen als een interactieve niet-login shell
Wanneer een interactieve shell die geen login-shell is wordt gestart, leest Bash commando’s in en voert ze uit vanaf ~/. bashrc, als dat bestand bestaat.
Dus, meestal bevat je ~/.bash_profiel de regel
if [-f ~/.bashrc]; then . ~/.bashrc; fi
na (of voor) enige login-specifieke initialisaties.
Op mijn Mac (Running Leopard), was er geen regel naar bron ~/.bashrc
. Ik moest deze functionaliteit zelf toevoegen.
Op sommige systemen en andere besturingssystemen is .bashrc
afkomstig van het globale /etc/profile
of /etc/bash_profile
, of wordt gebruik gemaakt van de sjabloonbestanden van /etc/skel
.
Om eerlijk te zijn wordt het onderscheid tussen .bashrc
en .bash_profile
niet goed begrepen door de gemeenschap. Wanneer veel ontwikkelaars zeggen “Voeg dit toe aan je .bashrc”, dan bedoelen ze eigenlijk “Voeg dit toe aan je .bash_profiel”. Ze willen dat de functionaliteit wordt toegevoegd aan uw loginshell (wat .bash_profile
is), niet aan uw non-loginshell. In werkelijkheid maakt het meestal niet uit en het plaatsen van de configuratie in .bashrc
is acceptabel.
Het blijkt dus dat op zowel Mac OS X Snow Leopard als Mac OS X Lion het bestand dat geladen is .profile
heet, niet .bashrc
.
Wat je wilt doen is een bestand maken in ~/.profile
en het .profile noemen (als het nog niet bestaat).
Zet de informatie die je nodig hebt om te laden bij elke instantie van bash daar (Bedankt, thepurplepixel).
Een paar kanttekeningen:
-a
als zodanig: ls -a
~
symbool staat voor /Users/YourUserName
waarbij YourUserName de korte naam van uw gebruikersnaam is. Bewerken: Chris Page merkt (correct) op dat wat u ook in een .profile bestand plaatst, van toepassing is op welke shell u ook gebruikt (d.w.z. zhs, bash, et cetera). Als je wilt dat de inhoud alleen van toepassing is op de bash-shell, plaats dan de inhoud in een .bash_profile
-bestand in plaats van een .profile
-bestand.
Ik vind dat in mijn OS 10.6.5 de bash-instellingen in “/etc/bashrc” staan. Ik denk dat dit de toplevel specificaties zijn voor shell.
Echter, je hebt een root account nodig om het aan te passen. De lokale per-gebruiker specificaties “~/.bashrc” zouden moeten beginnen met de volgende snippet, om de systeemniveau bash instellingen te lezen en te laden:
if [-r /etc/bashrc]; then
. /etc/bashrc
fi
Ik voeg normaal gesproken aliassen toe in het systeemniveau bashrc zodat alle gebruikers er ook bij kunnen. Tenzij ze je snelkoppelingen en aliassen niet willen gebruiken.
Veel succes!
Gebruik het .profile bestand om iets toe te voegen aan een linux .bashrc bestand.
bijvoorbeeld
PATH=/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/:/opt/local/bin:/opt/depot_tools/:~/bin:$PATH
alias t='/Users/<username>/.todo/todo.sh'
alias punch='python /Users/<username>/.todo/Punch.py'
alias clock='cat </dev/tcp/time.nist.gov/13'
alias sudotext="sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit"