A variável $# indica num script Bourne Shell
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A - o número de argumentos passados na linha de comando.
Para compreender a questão, é necessário conhecer as variáveis especiais usadas em scripts de Bourne Shell, uma das linguagens de programação usadas para automação de tarefas em sistemas operacionais Unix e Linux. No contexto de scripts shell, essas variáveis especiais são utilizadas para acessar informações sobre os argumentos passados na linha de comando e sobre o ambiente de execução do script.
Quando você executa um script shell, pode passar argumentos na linha de comando que são recebidos pelo script e podem ser usados dentro dele para diversas funções. A variável $# é uma variável especial que contém o número de argumentos passados ao script, não incluindo o próprio nome do script. Isso ajuda o desenvolvedor a criar scripts mais flexíveis e a realizar verificações como, por exemplo, se o número correto de argumentos foi fornecido pelo usuário.
Justificativa da alternativa correta:
A alternativa A está correta porque no Bourne Shell a variável $# representa exatamente isso: o número de parâmetros com os quais o script foi invocado. Se um script é chamado com três parâmetros, por exemplo, ./meu_script parametro1 parametro2 parametro3
, então $# terá o valor 3, indicando que três argumentos foram passados.
É importante notar que as outras opções se referem a outras variáveis especiais do shell:
- A variável $* ou $@ refere-se a todos os argumentos passados na linha de comando, que é diferente do número de argumentos.
- A variável $0 é usada para indicar o nome pelo qual o programa foi invocado.
- Não existe uma variável padrão para representar o último argumento passado na linha de comando de forma direta.
- A variável $$ é usada para se referir ao número de identificação do processo (PID) do script em execução.
Com essa explicação, espero ter esclarecido as dúvidas sobre a variável especial $# e sua função em scripts de Bourne Shell, além de ter ajudado a entender por que a alternativa A é a resposta correta para esta questão.
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
"É uma variável que contém a contagem de argumentos, além do próprio comando.
Fonte: http://0e1.org/Dicas_de_boas_praticas_de_programacao_shell/
b) todos os argumentos passados na linha de comando. ($*)
c) o nome pelo qual o programa foi invocado. ($0)
d) o último argumento passado na linha de comando. (Não há expressão padrão, deve iterar sobre toda a lista)
e) o número de identificação do processo aberto para execução do script. ($$)
http://www.ooblick.com/text/sh/
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo