Considere o seguinte bash script (Linux): meuscript.sh #!/...

Próximas questões
Com base no mesmo assunto
Q1245041 Programação
Considere o seguinte bash script (Linux):
meuscript.sh #!/bin/bash echo 'Digitado: '$1 : ' i=0 while [ $i -le 2 ] do mkdir $1 ((i++)) done ' 
Assinale a alternativa que representa o que ocorrerá quando for executado ($bash meuscript.sh 192.168.0.1).
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: A - Exibirá o texto "Digitado: 192.168.0.1".

Para compreender a questão e chegar à alternativa correta, é importante ter conhecimento sobre o funcionamento de scripts em bash, que é um interpretador de comandos utilizado em sistemas operacionais do tipo Unix, incluindo Linux. Além disso, é necessário entender a utilização dos parâmetros passados para scripts e como estruturas de controle de fluxo, como o loop while, operam nesse contexto.

O script inicia com a shebang line (#!/bin/bash), que especifica o interpretador a ser usado para executar o script. Em seguida, o script utiliza o comando echo para exibir uma mensagem junto com o primeiro argumento passado na linha de comando ($1). Neste caso, quando o script for executado com o comando bash meuscript.sh 192.168.0.1, o $1 será substituído por 192.168.0.1.

Após a mensagem ser exibida, o script tenta entrar em um loop que cria um diretório com o nome passado como argumento. Entretanto, a execução do script não prossegue após a exibição da mensagem, pois parece haver um erro de formatação no script, indicado pelo símbolo : após o echo. Este símbolo em um script bash é conhecido como um operador nulo, mas aqui parece ter sido utilizado incorretamente, o que impediria a continuação do script. Portanto, apenas a ação do comando echo seria executada, e por isso a alternativa correta é a A.

É importante notar que, se o script não contivesse erros de formatação e prosseguisse como se espera de um script bash normal, ele entraria no loop, mas tentaria criar o mesmo diretório várias vezes. Como um diretório com um determinado nome só pode ser criado uma vez, as tentativas subsequentes de criar o diretório falhariam e apenas um diretório com o nome 192.168.0.1 seria criado após o término do loop.

Clique para visualizar este gabarito

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

Comentários

Veja os comentários dos nossos alunos

✅Gabarito(A)

#!/bin/bash echo 'Digitado: '$1 : ' i=0 while [ $i -le 2 ] do mkdir $1 ((i++)) done '

Executado $bash meuscript.sh 192.168.0.1

O tipo $1 está relacionado com o argumento passado via linha de comando logo após o nomes do script.

$0 corresponde ao nome do script, $1 ao primeiro argumento, $2 ao segundo argumento, e assim sucessivamente.

Fonte:https://www.devmedia.com.br/introducao-ao-shell-script-no-linux/25778

Não teria que criar um diretório?

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo