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.