A variável $# indica num script Bourne Shell

Próximas questões
Com base no mesmo assunto
Q80255 Programação
A variável $# indica num script Bourne Shell
Alternativas

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

A variável $#:
"É 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/ 
    a) o número de argumentos passados na linha de comando. ($#)

    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. ($$)
$# n° de argumentos command-line que são dados.

http://www.ooblick.com/text/sh/

Clique para visualizar este comentário

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