Cuando ejecuto echo $SHELL la salida dice /bin/tcsh lo que significa que estoy ejecutando un tcsh shell.
Pero, por ejemplo, cuando emito el siguiente comando
alias emacs 'emacs -nw'
Recibo el siguiente error:
bash: alias: emacs: not found
bash: alias: emacs -nw: not found
y cuando emito alias emacs="emacs -nw" funciona bien!
Esto es confuso ya que estoy ejecutando tcsh pero los comandos son interpretados por bash .
¿Cuál podría ser el motivo?
Respuesta aceptada:
$SHELL no es necesariamente su shell actual, es el shell de inicio de sesión predeterminado. Para verificar el shell que está usando, intente
ps $$
Esto debería funcionar en los Unix/Linux más recientes con un ps que soporta la sintaxis BSD. De lo contrario, esta es la forma portátil (POSIX)
ps -p $$
Eso debería devolver algo como esto si está ejecutando tcsh :
8773 pts/10 00:00:00 tcsh
Si quieres tener tcsh sea su shell predeterminado, use chsh para configurarlo.