Buscar

PROGRAMAÇÃO EM SHELL SCRIPT ATIV 4

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROGRAMAÇÃO EM SHELL SCRIPT – ATIV 4
______________________________________________________________________________________
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. 
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. 
RES. ^[A-Z][a-z]* [A-Z][a-z]*$. 
______________________________________________________________________________________
Implementar programas por meio de linguagens de programação ou codificar Shell Script requer, em grande
parte das vezes, a utilização de variáveis. A manipulação das variáveis apresenta algumas diferenciações 
em relação às sintaxes utilizadas.
A partir dessas informações, analise as linhas de codificação em Shell Script e as associe às definições a 
seguir:
I . $var=$var1
II. var=$var1
III. var='$var1'
IV. var= 
( ) A variável será criada e instanciada com o valor armazenado pela variável “ $var1”.
( ) A variável recebe o resultado do comando “LS”, ou seja, armazenará uma lista com os nomes dos 
arquivos.
( ) Uma variável previamente criada é instanciada com o valor armazenado pela variável “ $var1”
( ) A variável será instanciada com a string: “$var1”.
Agora, assinale a alternativa que contém a sequência correta. 
Parabéns! Sua resposta está correta. Existem várias formas de se instanciar uma variável. Você observou e associou corretamente a 
instanciação de uma variável previamente criada (I), a criação e instanciação de uma variável (II), a instanciação sem a interpretação 
do valor associado (III) e a instanciação com o retorno de um comando (IV). 
RES. II; IV; I; III.
______________________________________________________________________________________
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. 
Parabéns! Sua resposta está correta. O início e final de uma cadeia de caracteres podem ser representados pelos metaaracteres “^” e 
“$”, respectivamente. Para o casamento de padrões, podem ser utilizados, dentre outros metacaracteres, os colchetes. Por exemplo, 
“[abc]” significa que um caractere as sequência pode ser “a”, “b” ou “c”. Por sua vewz, caso seja colocado “[^abc]”, o caractere da 
sequência poderá ser qualquer um exceto “a”, “b” ou “c”.
RES.II; IV; III; I. 
______________________________________________________________________________________
A instanciação de uma variável por intermédio do retorno de um comando é extremamente útil em diversas 
situações. Uma das situações pode ser representada quando utilizamos o comando “LS”, pois tal comando 
lista o conteúdo de uma pasta (diretório).
A partir dessas informações, analise o seguinte script:
#!/bin/bash
 
var= 
echo ${var[*]}
A partir do script acima, analise as afirmativas a seguir:
I. A variável “ var” será associada a uma lista contendo os nomes dos arquivos retornados pelo comando LS.
II. O comando ECHO imprimirá todos os nomes contidos na lista representada pela variável “ var”.
III. O comando ECHO imprimirá a frase “ echo ${var[*]}”.
IV. A linha “ var= ” poderia ser substituída por “ var=”ls”” .
Assinale a alternativa que traz somente as afirmativas corretas. 
Parabéns! Sua resposta está correta. Realmente, uma variável criada no Shell Script pode representar também um vetor (lista). Para 
tanto, no caso do script dessa questão, essa lista é formada com a ativação do comando LS referenciado entre crases. O acesso a um 
elemento da lista é feito por meio de seu índice entre colchetes: o asterisco, como índice, indica todos. 
RES. I e II.
______________________________________________________________________________________
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, é:
^\([1-9]{2}\) 9[0-9]{4}\-[0-9]{4}$
Na expressão regular, temos:
•“^” 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.
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. 
Parabéns! Sua resposta está correta. Você analisou corretamente as Expressões Regulares e associou corretamente aos padrões 
correspondentes. Podemos notar, portanto, a praticidade da utilização das Expressões Regulares no processo tanto de busca e 
substituição de cadeias de caracteres quanto de validação de formatos de dados. 
RES. IV; II; I; III.
______________________________________________________________________________________
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 de modo 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. 
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”. 
RES. $PWD; !=; fi. 
______________________________________________________________________________________
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. 
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”. 
RES. V; V; V; F.
______________________________________________________________________________________
Para permitir uma melhor estruturação e aproveitamento de códigos, um script Shell pode evocar funções 
presentes no mesmo arquivo de codificação ou, ainda, evocar funções externas. Para o caso de chamar 
funções externas, deve-se executar o arquivo que contém a implementação da função a ser executada. A 
partir dessas informações, imagine que temos a necessidade de executar um arquivo Shell Script 
denominado “coletadados.sh” presente na pasta: /home/usr/scripts. Suponha que devemos passar o valor 5 
para tal script.
Assim, complete as lacunas da codificação a seguir e depois assinale a alternativa que contém as 
informações corretas.
___/bin/bash
___/____ 5 
Parabéns! Sua resposta está correta. Inicialmente, para se criar um Shell Script devemos informar qual Shell será utilizado para 
realizar a interpretação dos comandos, sendo que essa indicação é realizada mediante a combinação de caracteres “ #!” (no caso da 
questão, é utilizado o “bash”). Para a evocação de scripts externos, deve-se indicar o caminho no qual se localiza o arquivo a ser 
executado. Em tal caminho deve constar, também, o nome completo do arquivo. No caso dessa questão, o parâmetro é passado logo 
após o nome do arquivo que contém a codificação Shell Script. 
RES. #! ; /home/usr/scripts ; coletadados.sh . 
______________________________________________________________________________________
Para se editar um arquivo Shell Script, pode-se utilizar qualquer editor que gere um arquivo textual ASCII. 
Assim, podemos utilizar editores como o Vi, o XEmacs, o KWrite e KEdit. O editor Vi foi lançado em meados
da década de 1970 e se tornou popular até os dias atuais por ser um editor que acompanha o padrão 
POSIX.
Analise as afirmativas a seguir, identificando com “V” a(s) verdadeira(s) e com “F”, a(s) falsa(s).
( ) Para ativar um comando no modo Shell, deve-se pressionar o caractere “:” e, em seguida, o comando a 
ser executado.
( ) Movimentações do cursor podem ser realizadas por intermédio das teclas “h”, “j”, “k” e “l”, mesmo que se 
esteja no modo de edição.
( ) Para se alternar entre o modo de comando e o modo de edição deve-se pressionar a tecla “ESC” ou a 
tecla “a”.
( ) Para as operações de busca e de substituição de texto, o editor Vi aceita Expressões Regulares.
Agora, assinale a alternativa que traz a sequência correta. 
Parabéns! Sua resposta está correta. Para se entrar no modo de edição, deve-se pressionar o caractere “a”, e, para voltar ao modo de 
comando, a tecla ESC. As letras “h”, “j”, “k” e “l” somente atuarão na movimentação do cursor no modo de comando. Estando no modo 
de comando, as ações de Shell são ativadas pelo caractere “:”. Por fim, podemos falar que as Expressões Regulares correspondem a 
um recurso altamente poderoso no processo de busca de substituição de partes do texto editado. 
RES. V, F, V e V.
______________________________________________________________________________________
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. 
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. 
RES. III; IV; II; V; I.
______________________________________________________________________________________

Continue navegando