Digamos que abrí una terminal e ingresé / ejecuté algunos comandos de shell.
Pero no invoqué explícitamente a Bash ni a ningún otro shell.
¿Qué shell se usó por defecto?
command-line
DrStrangeLove
fuente
fuente

sudo netstat -an | grep LISTEN | grep -v ^unix. No veo ninguna razón para encerrar eso en un subshell bash.sudo bash -c "..."se aseguraría de que la tubería completa sea ejecutada por root.commandA | sudo commandB | commandC, puede hacer unsudo idprimer (ejecuta elidcomando comoroot, pero también adquiere un token " usar sudo sin contraseña " que dura 15 minutos (predeterminado).chsha continuación, debe cerrar la sesión y volver a iniciarla para ver este cambio.GNU Bash es el shell utilizado por defecto en terminales en Ubuntu. Sin embargo, cuando las secuencias de comandos se ejecutan en el arranque del sistema, se utiliza el guión, ya que es / bin / sh.
Esto se define en la variable ambiental $ SHELL. Puede verificar escribiendo
echo $SHELLen la terminal.fuente
escribiendo lo siguiente mostrará con qué shell se abrió el terminal:
Sin embargo, para averiguar en qué shell se encuentra actualmente (puede haberlo cambiado) escriba
por ejemplo, verá que el shell es bash en la salida de ejemplo
Otro método es usar
esto simplemente devolverá el nombre del shell actual.
fuente
echo $0Por defecto es bash:
En la mayoría de los casos producirá
fuente
useradd, el valor predeterminado essh.$ useradd -D|grep SHELLSHELL=/bin/sh.Para obtener la ruta del archivo del ejecutable de shell actual, se puede usar
Algunas salidas posibles son:
/bin/bash/usr/bin/bash/usr/bin/zsh/home/stan/.linuxbrew/Cellar/zsh/5.2/bin/zshfuente