Quand j'exécute echo $SHELL la sortie indique /bin/tcsh ce qui signifie que j'exécute un tcsh shell.
Mais par exemple lorsque j'émets la commande suivante
alias emacs 'emacs -nw'
J'obtiens l'erreur suivante :
bash: alias: emacs: not found
bash: alias: emacs -nw: not found
et quand j'émets alias emacs="emacs -nw" ça marche bien !
C'est déroutant puisque j'utilise tcsh mais les commandes sont interprétées par bash .
Quelle pourrait en être la raison ?
Réponse acceptée :
$SHELL n'est pas nécessairement votre shell actuel, c'est le shell de connexion par défaut. Pour vérifier le shell que vous utilisez, essayez
ps $$
Cela devrait fonctionner sur les Unix/Linux les plus récents avec un ps qui prend en charge la syntaxe BSD. Sinon, c'est la méthode portable (POSIX)
ps -p $$
Cela devrait retourner quelque chose comme ça si vous exécutez tcsh :
8773 pts/10 00:00:00 tcsh
Si vous voulez avoir tcsh être votre shell par défaut, utilisez chsh pour le définir.