Dans votre cas, shest un lien vers bashmais, comme expliqué dans man bash:
Si bash est appelé avec le nom sh, il essaie d'imiter le comportement de démarrage des versions historiques de sh aussi fidèlement que possible, tout en se conformant également à la norme POSIX. [...] Lorsqu'elle est invoquée en tant que shell interactif avec le nom sh, bash recherche la variable ENV, développe sa valeur si elle est définie et utilise la valeur développée comme nom d'un fichier à lire et à exécuter. Puisqu'un shell appelé comme sh n'essaye pas de lire et d'exécuter des commandes à partir d'autres fichiers de démarrage , l'option --rcfile n'a aucun effet.
et
--norc Ne pas lire et exécuter le fichier d'initialisation à l'échelle du système /etc/bash.bashrc et le fichier d'initialisation personnel ~ / .bashrc si le shell est interactif. Cette option est activée par défaut si le shell est appelé en tant que sh.
Donc, puisque votre shell par défaut est sh, .bashrcn'est pas lu. Définissez simplement votre shell par défaut sur bash en utilisant chsh -s /bin/bash.
Merci. J'ai supposé que cela n'avait pas d'importance depuis que je l'ai /bin/shindiqué /bin/bash. Je suppose que ce problème découle de la non affectation explicite du shell /bin/bashlorsque j'ai créé le compte utilisateur à l'origine.
hâte
De plus, Debian / Ubuntu est passé à dashpour /bin/shdans le cadre de l'effort de réduction du temps de démarrage. C'était hilarant lorsque mes utilisateurs ont commencé à demander pourquoi leur shell agissait différemment.
kurtm
18
Dans .bash_profile, assurez-vous que vous disposez des éléments suivants:
# .bash_profile# If .bash_profile exists, bash doesn't read .profileif[[-f ~/.profile ]];then.~/.profile
fi# If the shell is interactive and .bashrc exists, get the aliases and functionsif[[ $-==*i*&&-f ~/.bashrc ]];then.~/.bashrc
fi
/bin/sh
indiqué/bin/bash
. Je suppose que ce problème découle de la non affectation explicite du shell/bin/bash
lorsque j'ai créé le compte utilisateur à l'origine.dash
pour/bin/sh
dans le cadre de l'effort de réduction du temps de démarrage. C'était hilarant lorsque mes utilisateurs ont commencé à demander pourquoi leur shell agissait différemment.Dans .bash_profile, assurez-vous que vous disposez des éléments suivants:
la source
bash
. Belle prise, j'ai raté ça.bash
côté d'un autre shell, comme celuiksh93
qui utilise.profile
par défaut.