Quando você inicia um terminal, ele sempre executa algum programa dentro dele. Esse programa geralmente será, por padrão, seu shell. No OS X, o shell padrão é o Bash. Em combinação, isso significa que quando você inicia o Terminal, você obtém uma janela do emulador de terminal com bash
sendo executado dentro dela (por padrão).
Você pode alterar o shell padrão para outra coisa, se quiser, embora o OS X seja fornecido somente com bash
e %código%. Você pode optar por iniciar um comando personalizado em um novo terminal com tcsh
comando :
open -b com.apple.terminal somecommand
Nesse caso, o seu shell não está em execução, e quando o comando personalizado termina, isso é o fim das coisas.
Se você executar open
dentro do seu terminal que já está executando bash
, você terá exatamente isso: um shell executando outro. Você pode sair do shell interno com Ctrl-D ou bash
e voltará para o shell em que você começou. Isso pode ser útil se você quiser testar alterações de configuração ou personalizar seu ambiente temporariamente - quando você sai da concha interna, as mudanças que você fez vão embora. Você pode aninhá-los arbitrariamente profundamente. Se você não está fazendo isso, não há nenhum ponto real em lançar outro, mas um comando como exit
executará apenas aquele script e então sairá, o que geralmente é útil.
As diferenças entre shells interativos e não interativos são um pouco sutis e lidam principalmente com quais arquivos de configuração são carregados, quais comportamentos de erro existem e se os aliases e similares estão habilitados. O princípio básico é que um shell interativo fornece as configurações que você deseja para se sentar na frente dele, enquanto um shell não interativo fornece o que você deseja para um script autônomo. Todas as diferenças são documentadas explicitamente no Manual de referência do bash , e também em uma pergunta dedicada neste site .
Na maior parte, você não precisa se importar. Não há sempre um motivo para lançar outro shell e, quando você fizer isso, terá um propósito específico em mente e saberá o que fazer com ele.