Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso GRA0946 PROGRAMAÇÃO EM SHELL SCRIPT GR2592-212-9 - 202120.ead-13358.03 Teste ATIVIDADE 4 (A4) Iniciado 22/09/21 16:15 Enviado 22/09/21 16:39 Status Completada Resultado da tentativa 7 em 10 pontos Tempo decorrido 24 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: Resposta Correta: Comentário da resposta: Um sistema operacional como o Linux pode ser instalado em uma máquina pessoal ou em máquinas que servirão para outras demandas, como é o caso de servidores de redes. Um sistema operacional de rede é aquele dotado de mecanismos e serviços que vão ao encontro do gerenciamento e controle de acesso aos recursos presentes em uma rede de computadores. Para essa questão, suponha as seguintes funcionalidades: I. Serviço de Nomes: usado para realizar a tradução de um nome da Internet (por exemplo: empresax.com.br) para o seu respectivo endereço IP. II. Serviço cuja função é distribuir de forma dinâmica, dentre outros parâmetros, o endereço IP para as máquinas clientes. III. Comando responsável pela edição de rotas em um servidor de rotas. IV. Serviço responsável por realizar a tradução entre endereços falsos da Internet (por exemplo: 192.168.0.1) para endereço real. Associe as funcionalidades listadas com os serviços que poderão ser exportados e os comandos do sistema operacional Linux: ( ) NAT, ou Network Address Translation (Tradução de Endereçamento de Rede). ( ) DHCP ( Dynamic Host Configuration Protocol – Protocolo de Configuração Dinâmica de Host). ( ) DNS ( Domain Name Server – Servidor de Nomes de Domínio) ( ) route (rota) Agora, selecione a alternativa que contém as corretas associações. IV; II; I; III. IV; II; I; III. Parabéns! Sua resposta está correta. Um computador pode desempenhar várias funcionalidades inerentes a uma rede de computadores, as quais também podem ser desempenhadas em computadores pessoais, localizados em, por exemplo, residências. Pergunta 2 Resposta Selecionada: Expressões Regulares têm o objetivo de testar se uma cadeia de caracteres corresponde a um padrão predeterminado. Esse tipo de teste é extremamente útil no processo de busca e substituição de cadeias de caracteres nos editores de texto, bem como para a validação de informações em campos de formulários em sistemas Web. Suponha que há a necessidade de testar se a escrita de nome e sobrenome de uma pessoa está correta. Para tanto, imagine que a primeira letra do nome e as primeiras letras de cada sobrenome devem ser iniciadas com letras maiúsculas. Para facilitar a questão, leve em consideração que não existem caracteres acentuados, que o nome não contém partículas, como “da” (no caso de “João da Silva”), e que o nome é composto apenas pelo primeiro nome e um sobrenome. Assinale a alternativa que contém a expressão regular correspondente. ^[A-Z][a-z]* [A-Z][a-z]*$. 1 em 1 pontos 1 em 1 pontos Resposta Correta: Comentário da resposta: ^[A-Z][a-z]* [A-Z][a-z]*$. Parabéns! Sua resposta está correta. Você observou como o nome, para essa questão, pode ser formado e criou corretamente a expressão regular. Também observou corretamente como diferenciar a primeira letra maiúscula das demais letras minúsculas. Pergunta 3 Resposta Selecionada: Resposta Correta: Comentário da resposta: Expressões Regulares são poderosas ferramentas para realizar operações de procura e substituição de textos em editores como o Vi, assim como podem ser utilizadas, por exemplo, em validações de campos em formulários Web. A análise por meio de Expressões Regulares tenta buscar um “padrão” que representa o texto. Analise as afirmativas a seguir, identificando com “V” a(s) verdadeira(s) e com “F”, a(s) falsa(s). ( ) Uma expressão regular pode ser formada por caracteres e por metacaracteres. Entendemos como “metacaractere” aquele que representa um significado especial no tratamento da expressão regular. ( ) Dentro do sistema operacional Linux, Expressões Regulares podem ser manipuladas por meio dos comandos EGREP e FGREP. ( ) O conjunto de metacaracteres passíveis de uso nas Expressões Regulares são: “*”, “+”, “?”, “$”, “^”, “.”, “(“, “)”, “|”, “\”, “{“, “}”, “[“ e “]”. ( ) O metacaractere “*” denota um espaço em branco. Assinale a alternativa que traz a sequência correta. V; V; V; F. V; V; V; F. Parabéns! Sua resposta está correta. Expressões Regulares fazem uso de caracteres e de metacaracteres. Metacaracteres permitem um tratamento especial. Por exemplo, o metacaractere “*” denota “qualquer caractere”. Pergunta 4 Nas Expressões Regulares, uma cadeia de caracteres pode ser representada por meio de seu padrão. Por exemplo, o padrão de um número de telefone celular representado pela expressão regular, com DDD, é: “^” e “$” → representam o início e o final da cadeia. “\(“ e “\)” → denotam o abre e fecha parênteses. “[1-9]{2}” → duas ocorrências de números que podem variar de 1 a 9 (representação do DDD) “9” → dígito 9 (todo celular inicia com o dígito 9). “[0-9]{4}” → quatro ocorrências de dígitos que podem variar de 0 a 9. “\-” → o caractere “-” separando os campos do número do telefone. ^\([1-9]{2}\) 9[0-9]{4}\-[0-9]{4}$ Na expressão regular, temos: Para essa questão, analise as Expressões Regulares a seguir: I. ^(([0-9]{3}.[0-9]{3}.[0-9]{3}-[0-9]{2})|([0-9]{11}))$ II. ^([0-1][0-9]|[2][0-3]):[0-5][0-9]$ III. ^[a-z0-9.]+@[a-z0-9]+\.[a-z]+(\.[a-z]+)?$ IV. ^([0-9]{1,3}\.){3}[0-9]{1,3}$ Associe as Expressões Regulares com os seus respectivos significados: ( ) Representa um endereço da Internet – endereço IP. ( ) Representa as horas no formato “hh:mm”. ( ) Representa um CPF (podendo conter pontos e hífen ou apenas números) ( ) Representa um endereço de e-mail. Agora, assinale a alternativa que traz a ordem correta. 1 em 1 pontos 0 em 1 pontos Resposta Selecionada: Resposta Correta: Comentário da resposta: IV; II; III; I. IV; II; I; III. Infelizmente, sua resposta está incorreta. Para responder corretamente, analise melhor o exemplo dado na própria questão e faça um paralelo com os metacaracteres presentes no e-book. Por exemplo, o que denota a representação “[a-z0-9.]”? Pergunta 5 Resposta Selecionada: Resposta Correta: Comentário da resposta: Da mesma forma que as linguagens de programação, como é o caso da linguagem C, as funções, em Shell Script servem para modularizar o código, de modo a permitir, por exemplo, seu possível reaproveitamento em outras situações, bem como o processamento diferenciado em diversos ambientes e momentos nos quais o Shell Script será executado. Analise as afirmativas a seguir, identificando com “V” a(s) verdadeira(s) e com “F”, a(s) falsa(s). ( ) A sintaxe para a criação de uma função consiste de um nome (que identifica a função) seguido da sequência de símbolos “( )” ( ) No cabeçalho da função, entre os parênteses, poderão ser passados os parâmetros que serão manipulados pela função. ( ) O corpo da função é delimitado pelos caracteres “{“ e “}”. ( ) Na declaração da função, antes de seu nome, poderá ainda haver a precedência da palavra “function”. Agora, assinale a alternativa que traz sequência correta. V, F, V e V. V, F, V e V. Parabéns! Sua resposta está correta. Uma função, para ser declarada, segue a sintaxe “NomeDaFunção( )” ou “function NomeDaFunção( )”. A passagem de parâmetros não existe no cabeçalho da função, ou seja, todos os parâmetros devem ser passados por meio de variáveis previamente criadas ou criadas dentro das funções para serem usadas em outras partes do Shell Script. Pergunta 6 Resposta Selecionada: Um Shell Script pode manipular não somente as variáveis criadas e instanciadas durante a execução dos scripts, mas também variáveis de ambiente. A manipulação das variáveis de ambiente é regida pelas mesmas regras, como a necessidade da utilização do símbolo “ $” precedendo o nome da variável. Imagine que você precisa criar um script para testar se o diretório corrente é o diretório home do usuário corrente. Preencha as lacunas demodo a atender ao especificado: #!/bin/bash if [ "___" ___ "$HOME" ] then echo "Nao estah no diretorio HOME" echo "O diretorio HOME eh $HOME" echo "O diretorio corrente eh $PWD" else echo "Estah no diretorio HOME ($HOME)" __ Agora, assinale a alternativa que contém a sequência correta do preenchimento das lacunas. $PWD; !=; fi. 1 em 1 pontos 1 em 1 pontos Resposta Correta: Comentário da resposta: $PWD; !=; fi. Parabéns! Sua resposta está correta. Você preencheu corretamente as lacunas, observando bem que a variável de ambiente que indica o diretório corrente é a “$PWD” que, no caso do código apresentado nesta questão, foi comparado com a variável “ $HOME” (que indica o diretório home do usuário corrente). Essa comparação é semelhante à linguagem C de programação, ou seja, é denotada por “ !=”. Por fim, a finalização do bloco do comando condicional é realizada por meio do “ fi”. Pergunta 7 Resposta Selecionada: Resposta Correta: Comentário da resposta: Um dos editores “clássicos” no mundo do Unix/Linux é chamado “Vi”. Esse editor, lançado em 1976, foi incorporado ao Unix padrão POSIX, tornando-o popular. Sua operação pode ser alternada entre o modo de comando e o modo de edição por intermédio das teclas “ESC” e “a”, respectivamente. Dentro do modo de edição, pode-se evocar os comandos de Shell por uma sequência iniciada pela tecla “:”. Imagine as seguintes funcionalidades: I. Grava o texto sem sair do editor Vi. II. Efetua a saída do Vi alertando o usuário caso o texto tenha sido alterado desde a última gravação. III. Encerra o Vi sem salvar o texto sob edição, mesmo que tenha sido modificado desde a última gravação. IV. Efetua a gravação do arquivo mesmo se aberto somente para leitura. V. Efetua a gravação do texto e o encerramento do Vi. Agora, associe as funcionalidades aos comandos do modo Shell: ( ) q! ( ) w! ( ) q ( ) wq ( ) w Assinale a alternativa que contém a sequência correta. III; IV; II; V; I. III; IV; II; V; I. Parabéns! Sua resposta está correta. Realmente, o Vi permite uma série de combinações de gravação e encerramento do editor. Permite, inclusive, por meio do comando “W!”, que o arquivo seja gravado mesmo tendo sido aberto somente para leitura. Pergunta 8 Resposta Selecionada: As Expressões Regulares correspondem a uma forma de representar cadeias de caracteres, ou seja, uma forma de representar um padrão a ser seguido ou a ser procurado em um texto. A criação das Expressões Regulares data de 1950, por Stephen Cole Kleene. Para representar um padrão, as Expressões Regulares fazem uso de caracteres e de metacaracteres. O conjunto de metacaracteres passíveis de uso nas Expressões Regulares são: “*”, “+”, “?”, “$”, “^”, “.”, “(“, “)”, “|”, “\”, “{“, “}”, “[” e “]”. Suponha as funcionalidades listadas a seguir: I. Denota a finalização de uma sequência. II. Engloba uma lista de possíveis caracteres. III. Sinaliza o início de uma linha. IV. Representa uma lista negada. Agora, associe as funcionalidades com os metacaracteres a seguir: ( ) [ ] ( ) [^ ] ( ) ^ ( ) $ Assinale a alternativa que contém a sequência correta. II; IV; III; I. 1 em 1 pontos 0 em 1 pontos Resposta Correta: Comentário da resposta: II; IV; III; I. Infelizmente, sua resposta está incorreta. Para responder essa questão, reveja os metacaracteres no e-book e veja, por exemplo, qual é a diferença entre usar o circunflexo dentro e fora de colchetes. Pergunta 9 Resposta Selecionada: Resposta Correta: Comentário da resposta: Implementar uma função em Shell Script é algo análogo a implementar uma função em uma linguagem de programação estruturada. Devemos, nesse caso, seguir a sintaxe correspondente e implementar o script de acordo com a nossa lógica de programação, utilizando, para isso, os comandos e estruturas disponibilizadas pela linguagem script. Para essa questão, suponha o seguinte script: #!/bin/bash data=$(date +"%d-%m-%y") echo "Data Atual = $data" mv $1 $data.$1 Analise as afirmativas a seguir: I. O script imprime, na tela, a data atual no formato dia-mês-ano. II. O script copia o arquivo passado como parâmetro para a data atual. III. O script renomeia o arquivo passado como parâmetro, inserindo a data antes de seu nome. IV. O script deve receber como primeiro parâmetro o nome do arquivo a ser renomeado. Selecione a alternativa que traz somente as corretas. I e IV. I, III e IV. Infelizmente, sua resposta está incorreta. Para responder essa questão, reveja a estrutura do Shell Script, especificamente na parte de definição e utilização de variáveis. A funcionalidade do script também pode ser verificada respondendo ao seguinte questionamento: qual é a função dos comandos do Shell Linux “DATE” e “MV”? Pergunta 10 Resposta Selecionada: Resposta Correta: Comentário da resposta: Variáveis servem para armazenar valores que serão manipulados posteriormente, em outras parte e momentos de execução dos programas escritos por intermédio de uma linguagem de programação, ou dos próprios scripts Shell. Sabemos que, em Shell Script, não há a possibilidade de passar parâmetros diretamente para as funções por intermédio de sua interface. Devemos passar os valores por meio de variáveis instanciadas em outras partes do script. Analise as afirmativas a seguir, identificando com “V” a(s) verdadeira(s) e com “F”, a(s) falsa(s). ( ) A palavra “ export” tem por finalidade somente exportar uma variável para fora do escopo da função na qual ela foi definida. ( ) O nome de uma variável não deve começar com número e nem deve conter caracteres especiais, com exceção do underline. ( ) Para acessar o conteúdo de variáveis previamente criadas, deve-se usar o símbolo “ $” precedendo o nome. Esse símbolo não é utilizado no momento da criação da variável. ( ) O valor de uma variável é interpretado independentemente de ela aparecer entre aspas, apóstrofos ou crases. Assinale a alternativa com traz a sequência correta. F; V; V; F. F; V; V; F. Parabéns! Sua resposta está correta. As variáveis de Shell Script seguem praticamente as regras de criação de variáveis das linguagens de programação em relação ao seu nome (por exemplo, não deve iniciar com número e nem deve conter caracteres especiais, excetuando-se o underline). O símbolo “ $” é usado somente na manipulação de variáveis previamente criadas, ou seja, para a 0 em 1 pontos 1 em 1 pontos criação, não se utiliza o símbolo “ $”. O “ export” serve para criar variáveis globais que poderão ser acessadas por scripts chamados a partir do script responsável pela criação da variável.
Compartilhar