Pular para o conteúdo principal

Quiz Módulo 6 - Scripting Shell

Instruções​

Este quiz contém 30 questões de múltipla escolha para validar seu entendimento do Módulo 6.

Dica: Responda cada questão antes de revelar a resposta. As respostas estão ocultas logo após cada pergunta.


Questão 1​

Qual é o shebang padrão para um script Bash?

Ver explicação

Resposta correta: #!/bin/bash

Explicação: O shebang #!/bin/bash indica que o script deve ser executado com Bash. Ele deve estar na primeira linha do script. Exemplo: #!/bin/bash seguido de uma linha em branco e então o código.


Questão 2​

Como tornar um script executável?

Ver explicação

Resposta correta: chmod +x script.sh

Explicação: chmod +x script.sh adiciona permissão de execução ao script. Depois, pode-se executá-lo com ./script.sh ou bash script.sh. chmod 755 script.sh faz o mesmo.


Questão 3​

Como declarar uma variável em Bash?

Ver explicação

Resposta correta: var="valor"

Explicação: Em Bash, declara-se uma variável com `var="valor"` (sem espaços ao redor do `=`). Para usar a variável: `$var` ou `${var}`. Para exibir: `echo $var`.


Questão 4​

Qual comando permite agendar uma tarefa recorrente no Linux?

Ver explicação

Resposta correta: cron

Explicação: cron é o daemon que executa tarefas agendadas. crontab é o comando para gerenciar tarefas do cron. As tarefas são definidas em arquivos crontab com uma sintaxe especial.


Questão 5​

Qual comando permite editar as tarefas cron de um usuário?

Ver explicação

Resposta correta: crontab -e

Explicação: crontab -e abre o editor para modificar as tarefas cron do usuário atual. crontab -l lista as tarefas, crontab -r remove todas as tarefas. As tarefas ficam em /var/spool/cron/crontabs/username.


Questão 6​

Qual é a sintaxe correta de uma linha crontab?

Ver explicação

Resposta correta: minuto hora dia mês dia-semana comando

Explicação: Formato do crontab: minuto hora dia mês dia-semana comando. Exemplos: 0 * * * * (a cada hora), 0 0 * * * (meia-noite todo dia), */5 * * * * (a cada 5 minutos). Dias da semana: 0-7 (0 e 7 = domingo).


Questão 7​

Qual sintaxe crontab executa uma tarefa a cada hora?

Ver explicação

Resposta correta: 0 * * * *

Explicação: 0 * * * * significa: minuto 0 de cada hora, todo dia, todo mês, todo dia da semana = toda hora no minuto 0. 0 0 * * * = meia-noite todo dia. * * * * * = todo minuto.


Questão 8​

Qual sintaxe crontab executa uma tarefa todos os dias à meia-noite?

Ver explicação

Resposta correta: 0 0 * * *

Explicação: 0 0 * * * significa: minuto 0, hora 0 (meia-noite), todo dia, todo mês, todo dia da semana = todos os dias à meia-noite. Muito comum para backups diários.


Questão 9​

Qual comando lista as tarefas cron de um usuário?

Ver explicação

Resposta correta: crontab -l

Explicação: crontab -l lista as tarefas cron do usuário atual. crontab -l -u username lista as tarefas de outro usuário (requer root). crontab -e edita, crontab -r remove todas as tarefas.


Questão 10​

Qual estrutura de controle permite executar código condicional em Bash?

Ver explicação

Resposta correta: if-then-else

Explicação: A estrutura if-then-else permite executar código condicional. Sintaxe: if [ condição ]; then comandos; else comandos; fi. Exemplo: if [ $var -eq 10 ]; then echo "Igual"; fi.


Questão 11​

Qual loop permite iterar sobre uma lista em Bash?

Ver explicação

Resposta correta: for

Explicação: O loop for permite iterar sobre uma lista. Sintaxes: for var in lista; do comandos; done ou for ((i=1; i<=10; i++)); do comandos; done. Exemplo: for file in *.txt; do echo $file; done.


Questão 12​

Qual loop executa código enquanto uma condição for verdadeira?

Ver explicação

Resposta correta: while

Explicação: O loop while executa código enquanto uma condição for verdadeira. Sintaxe: while [ condição ]; do comandos; done. until faz o inverso (enquanto a condição for falsa). Atenção com loops infinitos!


Questão 13​

Qual variável contém o código de retorno do último comando?

Ver explicação

Resposta correta: $?

Explicação: $? contém o código de retorno do último comando. 0 = sucesso, diferente de zero = erro. Exemplo: command; if [ $? -eq 0 ]; then echo "Sucesso"; fi. Também pode-se usar diretamente: if command; then ....


Questão 14​

Qual variável contém o número de argumentos passados para o script?

Ver explicação

Resposta correta: $#

Explicação: $# contém o número de argumentos passados para o script. $1, $2, etc. contêm os argumentos individuais. $0 contém o nome do script. $@ contém todos os argumentos.


Questão 15​

Qual variável contém o primeiro argumento passado para o script?

Ver explicação

Resposta correta: $1

Explicação: $1 contém o primeiro argumento, $2 o segundo, etc. $0 contém o nome do script. $@ contém todos os argumentos. Exemplo: ./script.sh arg1 arg2 → $1="arg1", $2="arg2".


Questão 16​

Qual comando permite criar uma função em Bash?

Ver explicação

Resposta correta: function_name() seguido de comandos entre chaves

Explicação: Sintaxe para criar uma função: `function_name() { comandos; }` (com chaves ao redor dos comandos). Também pode-se usar `function function_name { comandos; }`. Para chamar: `function_name` ou `function_name arg1 arg2`. Nota: As chaves são necessárias para delimitar o corpo da função.


Questão 17​

Qual arquivo contém as tarefas cron do sistema (para todos os usuários)?

Ver explicação

Resposta correta: /etc/crontab

Explicação: /etc/crontab contém as tarefas cron do sistema. Formato semelhante, mas com um campo de usuário: minuto hora dia mês dia-semana usuário comando. Os diretórios /etc/cron.d/, /etc/cron.hourly/, /etc/cron.daily/, etc. também contêm tarefas do sistema.


Questão 18​

Qual diretório contém os scripts executados diariamente pelo cron?

Ver explicação

Resposta correta: /etc/cron.daily

Explicação: /etc/cron.daily/ contém os scripts executados diariamente. Semelhante: /etc/cron.hourly/, /etc/cron.weekly/, /etc/cron.monthly/. Esses scripts são executados pelo anacron ou run-parts.


Questão 19​

Qual comando permite testar se um arquivo existe em Bash?

Ver explicação

Resposta correta: [ -f arquivo ] ou test -f arquivo

Explicação: [ -f arquivo ] testa se um arquivo existe e é um arquivo regular. Outros testes: [ -d arquivo ] (diretório), [ -e arquivo ] (existe), [ -r arquivo ] (legível), [ -w arquivo ] (gravável), [ -x arquivo ] (executável).


Questão 20​

Qual comando permite ler uma entrada do usuário em um script Bash?

Ver explicação

Resposta correta: read

Explicação: read variavel lê uma linha da entrada padrão e armazena na variável. Exemplos: read nome, read -p "Digite seu nome: " nome (com prompt), read -s senha (entrada oculta).


Questão 21​

Qual estrutura permite fazer uma escolha múltipla em Bash?

Ver explicação

Resposta correta: case-esac

Explicação: case permite fazer uma escolha múltipla. Sintaxe: case $var in pattern1) comandos;; pattern2) comandos;; *) comandos;; esac. Mais legível que vários if-elif para muitas opções.


Questão 22​

Qual sintaxe crontab executa uma tarefa a cada 5 minutos?

Ver explicação

Resposta correta: */5 * * * *

Explicação: */5 * * * * significa a cada 5 minutos. O */5 significa "todos os valores divisíveis por 5". 5 * * * * = apenas no minuto 5 de cada hora. 5,10,15 * * * * = nos minutos 5, 10 e 15.


Questão 23​

Qual variável contém o PID do processo atual?

Ver explicação

Resposta correta: $$

Explicação: $$ contém o PID do processo shell atual. Útil para criar arquivos temporários únicos: tempfile="/tmp/script.$$". $PPID contém o PID do processo pai.


Questão 24​

Qual comando permite redirecionar a saída de erro para um arquivo?

Ver explicação

Resposta correta: command 2> error.log

Explicação: 2> redireciona a saída de erro (stderr, file descriptor 2). > redireciona a saída padrão (stdout, file descriptor 1). 2>&1 redireciona stderr para stdout. &> redireciona ambos para um arquivo.


Questão 25​

Qual comando permite redirecionar tanto a saída padrão quanto a de erro para um arquivo?

Ver explicação

Resposta correta: command &> file ou command > file 2>&1

Explicação: command &> file redireciona stdout e stderr para o arquivo. Equivalente a command > file 2>&1. A ordem é importante: 2>&1 deve vir depois de > file para redirecionar stderr para o mesmo local que stdout.


Questão 26​

Qual comando permite criar um array em Bash?

Ver explicação

Resposta correta: array=(1 2 3)

Explicação: Sintaxe para criar um array: `array=(1 2 3)` ou `array=("um" "dois" "três")`. Para acessar: `${array[0]}`, `${array[1]}`, etc. `${array[@]}` contém todos os elementos. `${#array[@]}` = quantidade de elementos.


Questão 27​

Qual sintaxe crontab executa uma tarefa todas as segundas-feiras às 9h00?

Ver explicação

Resposta correta: 0 9 * * 1

Explicação: 0 9 * * 1 = minuto 0, hora 9, todo dia, todo mês, segunda-feira (1). Dias da semana: 0 ou 7 = domingo, 1 = segunda, 2 = terça, ..., 6 = sábado.


Questão 28​

Qual comando permite sair de uma função com um valor de retorno?

Ver explicação

Resposta correta: return

Explicação: return sai de uma função com um código de retorno. return 0 = sucesso, return 1 = erro. exit encerra todo o script. break sai de um loop. return sem argumento retorna o código do último comando.


Questão 29​

Qual comando permite sair de um script com um código de retorno?

Ver explicação

Resposta correta: exit

Explicação: exit encerra o script com um código de retorno. exit 0 = sucesso, exit 1 (ou outro diferente de zero) = erro. Se nenhum código for especificado, usa o código do último comando. return só funciona em funções.


Questão 30​

Qual comando permite ver os logs das tarefas cron no Ubuntu 24.04?

Ver explicação

Resposta correta: journalctl -u cron ou grep CRON /var/log/syslog

Explicação: No Ubuntu 24.04, os logs do cron estão nos logs do systemd. journalctl -u cron exibe os logs do serviço cron. Também é possível buscar em /var/log/syslog: grep CRON /var/log/syslog. Os logs mostram execuções e erros das tarefas cron.


Resultado do Quiz​

Parabéns por ter completado o quiz do Módulo 6!

Pontuação:

  • 25-30 respostas corretas: Excelente! Você domina scripting Bash e cron.
  • 20-24 respostas corretas: Muito bom! Reveja os conceitos onde teve dificuldade.
  • 15-19 respostas corretas: Bom! Revise os capítulos sobre scripting e cron.
  • Menos de 15: Recomendado revisar o módulo antes de continuar.

Próximos Passos​

Agora que você validou seus conhecimentos:

Módulo 7: Rede e Configuração
Labs práticos: Coloque em prática scripting e cron com os labs do Módulo 6


Quiz criado em: Dezembro 2024 - Testado no Ubuntu 24.04