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 id
primer (ejecuta elid
comando comoroot
, pero también adquiere un token " usar sudo sin contraseña " que dura 15 minutos (predeterminado).chsh
a 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 $SHELL
en 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 $0
Por defecto es bash:
En la mayoría de los casos producirá
fuente
useradd
, el valor predeterminado essh
.$ useradd -D|grep SHELL
SHELL=/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/zsh
fuente