Qual o shell que será utilizado na execução do script de exe...

Próximas questões
Com base no mesmo assunto
Q3701769 Sistemas Operacionais

Avalie o shell script abaixo e responda à questão.


#!/bin/bash

i=1

LOG=logfile

while [ $i -lt 3 ]

do

               echo $i >> $LOG

               i=$(($i + 1))

done 

Qual o shell que será utilizado na execução do script de exemplo, levando em consideração que ele será executado em uma distribuição linux moderna?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Tema central: O principal tema abordado nesta questão é a identificação do interpretador de comandos (shell) utilizado na execução de scripts em ambientes Linux, com foco no conceito de shebang (#!).

Explicação didática: Em sistemas Unix e Linux, quando você executa um script diretamente, a primeira linha, chamada de shebang, serve para indicar ao sistema qual interpretador deve ser utilizado para processar aquele arquivo de script. O formato é sempre #! seguido do caminho completo do interpretador, por exemplo, #!/bin/bash.

No script apresentado, a linha inicial é exatamente #!/bin/bash. Portanto, o interpretador utilizado será o Bash, também conhecido como Bourne-Again Shell.

Justificativa da alternativa correta (A):

O Bash (Bourne-Again Shell) foi desenvolvido como uma evolução do Shell original de Unix chamado "Bourne Shell" (sh). O Bash tornou-se o shell padrão da maioria das distribuições Linux modernas. O shebang #!/bin/bash especifica explicitamente que todo o script deverá ser executado pelo Bash. Portanto, a alternativa correta é A) Bourne-Again Shell.

Análise crítica das alternativas incorretas:

B) Power Shell: PowerShell é uma ferramenta da Microsoft para automação no Windows. Não pertence ao Linux e não é invocado pelo shebang do exemplo.

C) C Shell: O C Shell (csh) só seria chamado se o shebang fosse #!/bin/csh. Não se aplica ao script dado.

D) Korn Shell: O Korn Shell (ksh) seria utilizado com #!/bin/ksh, o que não é o caso.

E) Bourne Shell: O shell antigo (sh) seria chamado por #!/bin/sh. Embora o Bash seja compatível, o shebang indica o Bash especificamente.

Estratégias de prova: Sempre observe atentamente a primeira linha dos scripts. Trocas sutis como /bin/bash vs /bin/sh podem mudar totalmente a resposta! Não confunda nomes similares.

Resumo: O shebang define o interpretador, e neste caso, o Bourne-Again Shell (Bash) será utilizado.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo