Es gibt zwei Szenarien:
- Sie benutzen Linux
- Sie verwenden Mac Os X
Für beide möchten Sie eine Quelle ~/.bashrcin Ihrem Profil erstellen, die geladen oder bezogen wird, wenn Ihre Shell für Ihr Terminal gestartet wird.
LINUX
Wird unter Linux ~/.profilebeim Start automatisch als Quelle in Ihre Shell eingefügt. Wenn Sie also zu Ihrem Terminal gehen und tippen cd ~; ls -A, sehen Sie alle Ihre Dateien und Verzeichnisse in Ihrem Home-Verzeichnis ( /home/usrname/). Sie sollten eine Datei mit dem Namen sehen .profile. Dies ist die Datei, die beim Starten des Terminals automatisch "bezogen" wird.
Wenn Sie Aliase und Funktionen hinzufügen möchten ~/.bashrc(was ich auch mache), sollten Sie (innerhalb von) ~/.profileeine if-Anweisung hinzufügen, die prüft, ob ~/.bashrces sich um eine nicht leere Datei handelt, und diese dann als Quelle verwenden.
Um zu überprüfen, ob dies ~/.profilebereits erfolgt, geben Sie Folgendes ein nano ~/.profile. Dies öffnet es in einem Texteditor (Sie können gedit verwenden, wenn Sie wissen, dass Sie es haben, oder sogar vim, wenn Sie wissen, wie man es benutzt). Möglicherweise erhalten Sie eine leere Textdatei (Sie sollten es nicht tun), aber wenn Sie dies tun, fahren Sie einfach fort. Wenn Sie an keiner Stelle eine Zeile mit der Aufschrift sehen , source ~/.bashrcgeben Sie die folgenden Zeilen ein (platzieren Sie sie an einer angemessenen Stelle wie am Ende oder am Anfang und nicht in der Mitte einer if-Anweisung):
if [ -s ~/.bashrc ]; then
source ~/.bashrc;
fi
Hiermit wird überprüft, ob ~/.bashrces sich um eine nicht leere Datei handelt (mit if [ -s ~/.bashrc ]), und wenn dies der Fall ist, wird sie als Quelle verwendet. Ziemlich einfach. Jetzt können Sie einen beliebigen gültigen Alias, eine Funktion, eine Variable usw. hinzufügen ~/.bashrc.
MAC OS X
Standardmäßig werden Max OS X-Quellen verwendet ~/.bash_profile. Um Dinge hinzufügen zu können ~/.bashrc(was auch in OS X der Fall ist), gehen Sie wie unter Linux vor. Im Terminal eingeben cd ~; nano .bash_profile. Suchen Sie nach einer Zeile, die besagt, source ~/.bashrcund fügen Sie die obige if-Anweisung ( if [ -s ~/.bashrc ]; then source ~/.bashrc; fi) hinzu, wenn sie nicht vorhanden ist .
ANMERKUNGEN
Lassen Sie beim Schreiben einer if-Anweisung grundsätzlich ein Leerzeichen zwischen allem ( if [ -s ~/.bashrc]; then echo "found"; fidies funktioniert beispielsweise nicht, da kein Leerzeichen dazwischen steht ~/.bashrcund ]- der Interpreter denkt, dass dies ein Wort ist).
Wenn Sie herausfinden möchten, wie Sie in einer if-Anweisung besser nach Dingen suchen können, gehen Sie zum Terminal und geben Sie Folgendes ein man \[. Dies gibt Ihnen im Wesentlichen die Möglichkeit, eine if-Anweisung herunterzufahren. if [ -f /path/to/file ]; then echo "it's a file"; else echo "not a file"; fiÜberprüft zum Beispiel, ob /path/to/filees sich um eine Datei handelt und ob diese entsprechend auf stdout gedruckt wird. Ich beziehe mich immer auch darauf, um die Augen zu schonen und eine schnelle Referenz zu haben: 7.2. Dateitest-Operatoren .
Ich hoffe das hilft. Ich erinnere mich, wie verwirrt ich war, als ich all dieses Zeug anfing (was nicht allzu lange her war); Also, viel Glück bei Ihren zukünftigen UNIX-Bemühungen!