Considere o seguinte bash script (Linux): meuscript.sh #!/...
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).
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: A
Fundamento decisivo: O critério decisivo é a semântica do trecho com ":" no Bash: o conteúdo entre ": '" e a aspa simples de fechamento após o bloco é tratado como string passada ao builtin ":", de modo que o while e o mkdir não entram em execução. Como a chamada é "bash meuscript.sh 192.168.0.1", $1 recebe "192.168.0.1" e a alternativa correta é a que indica apenas a saída de texto.
- Antes de analisar efeitos de comandos, verifique se o trecho está realmente em execução ou apenas encapsulado como string.
- Em Bash, confirme o significado dos parâmetros posicionais: "$1" é o primeiro argumento passado ao script, não o nome do arquivo do script.
- Se uma alternativa depende de while, mkdir ou outro comando interno ao bloco, ela cai junto se o bloco estiver desativado.
- Não atribua ao mkdir comportamentos de renomeação automática sem apoio expresso no próprio enunciado ou na base.
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