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.