Disons que j'ai ouvert un terminal et entré / exécuté des commandes shell.
Mais je n'ai pas invoqué explicitement Bash ni aucun autre shell.
Quel shell a été utilisé par défaut?
command-line
DrStrangeLove
la source
la source
sudo netstat -an | grep LISTEN | grep -v ^unix
. Je ne vois aucune raison de mettre cela dans un sous-shell bash.sudo bash -c "..."
cela garantirait que le canal entier est exécuté par root.commandA | sudo commandB | commandC
, vous pouvez faire unesudo id
première action (laid
commande estroot
chsh
alors vous devez vous déconnecter et vous reconnecter pour voir ce changement.GNU Bash est le shell utilisé par défaut dans les terminaux sur Ubuntu. Toutefois, lorsque les scripts sont exécutés au démarrage du système, un tiret est utilisé, car il s’agit du tiret / bin / sh.
Ceci est défini dans la variable environnementale $ SHELL. Vous pouvez vérifier en tapant
echo $SHELL
dans le terminal.la source
en tapant ce qui suit affichera le shell avec lequel le terminal a ouvert:
Cependant, pour savoir dans quel shell vous vous trouvez (vous l'avez peut-être changé), tapez
par exemple, vous verrez que le shell est bash dans l'exemple de sortie
Une autre méthode consiste à utiliser
cela retournera simplement le nom du shell actuel.
la source
echo $0
Par défaut c'est bash:
Dans la plupart des cas, produira
la source
useradd
, sa valeur par défaut estsh
.$ useradd -D|grep SHELL
SHELL=/bin/sh
.Pour obtenir le chemin du fichier de l'exécutable du shell actuel, on peut utiliser
Quelques sorties possibles sont:
/bin/bash
/usr/bin/bash
/usr/bin/zsh
/home/stan/.linuxbrew/Cellar/zsh/5.2/bin/zsh
la source