1 votes

Quel est le fichier de configuration pour le sh Shell sous OS X ? (c'est-à-dire ~/.bash_profile pour bash Shell, etc)

R utilise le /bin/sh environnement Shell et j'exécute des Shell (qui ne peuvent pas être modifiés) qui appellent gfortran-4.8 au lieu de gfortran donc je crée un alias . J'ai ajouté la ligne suivante à mon /etc/profile et ~/.bash_profile :
alias gfortran-4.8='gfortran'

Cependant, voici la sortie du Terminal lors de l'appel de l'alias gfortran-4.8 :

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

Appel à gfortran fonctionne très bien :

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.

Si ce n'est pas le cas /etc/profile ou ~/.bash_profile où le alias commande aller ?

EDIT : J'ai aussi essayé d'ajouter l'alias à ~/.bashrc mais ça n'a pas marché non plus.

1voto

Abbas Points 3737

Lorsque vous démarrez bash avec l'option sh (par exemple, si /bin/sh est un lien symbolique vers bash ), alors le Shell lira seulement /etc/profile et ~/.profile . Le Shell ne sera pas lire ~/.bash_profile ou ~/.bashrc .

Recherchez la phrase "invoqué avec le nom sh" dans votre page de manuel bash.

1voto

IvoryNomad Points 11

Lorsque bash est invoqué en tant que */sh seulement /etc/profile et ${HOME}/.profile sont lus.

J'ai ces lignes dans mon .profile (sous OS X) :

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

Mon .bashrc contient (entre autres) ces lignes :

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

Maintenant, il suffit de créer un .bash_aliases avec tous vos alias.

0voto

johnsoga Points 23

Il est généralement plus simple de mettre tous les alias et personnalisations du Shell dans ~/.bashrc et ensuite avoir votre ~/.bash_profile source de ce fichier dans celui-ci, c'est-à-dire source .bashrc mais si vous modifiez les alias dans votre ~/.bashrc ils ne prendront pas effet jusqu'à ce que vous rechargiez votre Shell ou que vous soyez à la source. ~/.bashrc fichier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X