Was ist die Konfigurationsdatei für die Sh-Shell unter OS X? (dh ~ / .bash_profile für die Bash-Shell usw.)

1397
Bubbles

Rverwendet die /bin/shShell - Umgebung, und ich bin mit Skripten (die nicht geändert werden kann), die anrufen, gfortran-4.8anstatt gfortranso ein Ich schaffe alias. Ich habe meinem /etc/profileund die folgende Zeile hinzugefügt ~/.bash_profile:
alias gfortran-4.8='gfortran'

Hier ist jedoch die Ausgabe von Terminal beim Aufruf des Alias gfortran-4.8:

my-MBP:~ myusername$ sh sh-3.2$ gfortran-4.8 --version sh: gfortran-4.8: command not found 

Aufrufen gfortranfunktioniert gut:

sh-3.2$ gfortran --version gfortran: warning: couldn’t understand kern.osversion ‘14.4.0 GNU Fortran (GCC) 4.9.0 Copyright (C) 2014 Free Software Foundation, Inc. 

Wenn nicht /etc/profileoder ~/.bash_profilewohin soll der aliasBefehl gehen?

EDIT: Ich habe auch versucht, den Alias ​​hinzuzufügen, ~/.bashrcaber das hat auch nicht funktioniert.

0
Was ist dein Login oder deine interaktive Shell? (Vielleicht herausfinden mit `ps $$`) Wenn es `bash` edit` ~ / .bashrc` ist Basile Starynkevitch vor 8 Jahren 2
`ps $$` gibt `bash` aus und ich habe versucht,` ~ / .bashrc` zu bearbeiten, aber das hat auch nicht funktioniert vor 8 Jahren 0
** Bearbeiten Sie Ihre Frage **, um sie zu verbessern. Kommentiere es nicht Basile Starynkevitch vor 8 Jahren 0
1) Fügen Sie den Alias ​​zu "~ / .bashrc" hinzu. 2) Aktivieren Sie ihn mit "source ~ / .bashrc". 3) Versuchen Sie, den Aliasnamen aufzurufen Eugeniu Rosca vor 8 Jahren 2
Gibt es eine Möglichkeit, das in die Sh-Shell-Startphase aufzunehmen? Während dies in Terminal funktioniert, funktioniert es nicht in 'R', selbst wenn 'system (' source ~ / .bashrc ') ausgeführt wird. Für `R` ist standardmäßig die` sh`-Shell erforderlich. vor 8 Jahren 0
Die Verwendung des `R`-Programms und die Beschränkung auf` sh` sind wichtige Voraussetzungen für Ihr Problem, und diese müssen in der ersten Zeile der Beschreibung erwähnt worden sein. Eugeniu Rosca vor 8 Jahren 0
Sie sollten wahrscheinlich einige `.rprofile`-Konfigurationen / Anpassungen überprüfen, wie zB [hier] (http://www.r-bloggers.com/fun-with-rprofile-and-customizing-r-startup/). Eugeniu Rosca vor 8 Jahren 0

3 Antworten auf die Frage

1
glenn jackman

Wenn Sie bash mit as starten sh(wenn zum Beispiel /bin/shein symbolischer Link zu ist bash), liest die Shell nur /etc/profileund ~/.profile. Die Schale wird nicht gelesen ~/.bash_profileoder ~/.bashrc.

Suchen Sie in Ihrer Bash-Man-Seite nach dem Begriff "mit dem Namen sh aufgerufen".

1
IvoryNomad

Wenn Bash als */shnur aufgerufen wird /etc/profileund $/.profilegelesen wird.

Ich habe diese Zeilen in meinem .profile(mit OS X):

if [ -n "$" ]; then # include ~/.bashrc if it exists if [ -f "$/.bashrc" ]; then . "$/.bashrc" fi fi 

Mein .bashrcenthält ua folgende Zeilen:

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

Nun erstellen Sie einfach eine .bash_aliasesDatei mit allen Ihren Aliasnamen.

0
johnsoga

Normalerweise ist es einfacher, alle Aliasnamen und Anpassungen in die Shell zu übernehmen ~/.bashrcund dann die ~/.bash_profileQuelle in dieser Datei zu speichern. source .bashrcWenn Sie jedoch Alias-Änderungen in ~/.bashrcIhrer Shell vornehmen, werden diese Änderungen erst wirksam, wenn Sie die Shell oder die Quelle, in der Sie sich befinden, neu laden ~/.bashrc.