Digamos, eu abri um terminal e digitei / executei alguns comandos do shell.
Mas não invoquei explicitamente o Bash ou qualquer outro shell.
Qual shell foi usado por padrão?
command-line
DrStrangeLove
fonte
fonte
sudo netstat -an | grep LISTEN | grep -v ^unix
. Não vejo razão para colocar isso em um subshell do bash.sudo bash -c "..."
garantiria que todo o canal fosse executado pela raiz.commandA | sudo commandB | commandC
, você pode fazer osudo id
primeiro (executa oid
comando comoroot
, mas também adquire um token " use sudo without prompt de senha " que dura (por padrão) 15 minutos.chsh
, deverá sair e fazer login novamente para ver esta alteração.GNU Bash é o shell usado por padrão nos terminais do Ubuntu. No entanto, quando os scripts são executados na inicialização do sistema, o traço é usado, pois é o traço que é / bin / sh.
Isso é definido na variável ambiental $ SHELL. Você pode verificar digitando
echo $SHELL
no terminal.fonte
digitar o seguinte exibirá com qual shell o terminal foi aberto:
No entanto, para descobrir em que shell você está atualmente (você pode ter alterado), digite
por exemplo, você verá que o shell é bash no exemplo de saída
Outro método é usar
isso simplesmente retornará o nome do shell atual.
fonte
echo $0
Por padrão, é bash:
Na maioria dos casos, produzirá
fonte
useradd
, o padrão serásh
.$ useradd -D|grep SHELL
SHELL=/bin/sh
.Para obter o caminho do arquivo do atual executável do shell, pode-se usar
Algumas saídas possíveis são:
/bin/bash
/usr/bin/bash
/usr/bin/zsh
/home/stan/.linuxbrew/Cellar/zsh/5.2/bin/zsh
fonte