Prévia do material em texto
expr∈dex$arquivo. expr$pos-1 expr${#arquivo}-$pos S=So+VoT+A2T2 1a Questão No decorrer das aulas de laboratório, aprendemos que ao iniciar o desenvolvimento de um script, devemos informar o tipo de interpretador que será utilizado, para tanto deve-se iniciar a primeira linha de código com esta informação. Marque abaixo o exemplo de interpretador. #!/bin/bash !!/bin/bosh @!/bin/bash /bin/bash !#/bin/BASHE 2a Questão Assinale a opção que NÃO descreve característica do Shell Script Facilidade de desenvolvimento Controle Complexidade Simplicidade Portabilidade 3a Questão Assinale a opção que NÃO descreve característica do Shell Script Compilação Portabilidade Controle Facilidade de desenvolvimento Simplicidade 4a Questão Qual das opções abaixo melor explica o comando da linha 2? 1. #!/bin/bash 2. wc /etc/passwd Exibe o número de linhas do arquivo passwd. Ler todas as linhas do arquivo passwd e coloca em um vetor. Exibe o número de linhas do arquivo, o número de palavras e o número de caracteres. Exibe o conteúdo do arquivo passwd. Nenhuma das alternativas. 5a Questão A execução dos comandos abaixo exibe o endereço do diretório corrente, preencha as lacunas abaixo para que essa execução tenha sucesso: prova@estacio:~$ v1=_ _ _ _ _ _ _ _ _ _ _ _ prova@estacio:~$ echo $v1 /home/prova 'pwd' `pwd` `cd ~` 'cd ~' (pwd) 6a Questão A primeira linha do script, se inicia com qual sequência de caracteres ? #! *! #? ## 7a Questão Qual das opções abaixo melhor explica o script seguinte: @echo off cls FOR /F "tokens=1,2 delims=, " %%i IN (alunos.txt) DO mkdir %%i pause Cria diretorios de acordo com o conteúdo do arquivo alunos.txt. Exibe o conteúdo do arquivo aluno.txt e depois faz uma pause. Apaga todos os arquivos da pasta corrente Lista todo o conteúdo do arquivo alunos.txt. Cria arquivos de acordo com o nome do arquivo aluno.txt 8a Questão Entende-se por linguagem interpretada aquela cujo: código executável é executado. as instruções são buscadas no programa uma após outra a fim de serem executadas. as instruções são buscadas no programa todas de uma vez, a fim de serem executadas. as instruções são compiladas a fim de serem executadas. as bibliotecas são executadas juntamente com o código executável. 1a Questão Em muitos sistemas Linux, o shell padrão é o bash shell. Para descobrir qual o shell padrão do sistema Linux, deve-se digitar um comando no terminal. Assinale-o. $ ECHO $SHELL $ echo $SHELL $ ECHO $Shell $ print echo $ echo $Shell 2a Questão Qual o resultado do script abaixo? #!/bin/bash for (( var=1; var<5; var++)); do x=$var done case $x in 5) x=0 ;; 4) x=1 ;; 3) x=2 ;; 2) x=3 ;; 1) x=4 ;; esac echo $var$x 54 55 53 51 52 4a Questão Qual dos comandos abaixo faz parte da estrutura IF e é utilizado para fazer uma comparação de igualdade entre duas variáveis (nun1 e nun2), na plataforma Linux? IF [$nun1 -gt $nun2 ] IF [$nun1 -eg $nun2 ] IF [$nun1 -rt $nun2 ] IF [$nun1 -et $nun2 ] IF [$nun1 -ig $nun2 ] 5a Questão Quando um Bash script é executado com parâmetros na linha de comando, podemos usar uma variável para exibir todos os parâmetros passados. Essa variável é: $1 $# $* $? $10 6a Questão No Script abaixo: #!/bin/bash a=5 b=3 let c=$a+$b echo $c O que seria apresentado na tela? c 8 5 + 3 mensagem de erro $c 7a Questão Qual o resultado da execução do script abaixo? while [ "$#" -gt 0 ]; do echo "$1" shift done Imprime os números ímpares de 1 a 9. Imprime a string "$1". Imprime os números de 0 a 9. Imprime o número de argumentos passados como parâmetros. Imprime todos os argumentos passados como parâmetros. 8a Questão Considerando um trecho de um script que execute um comando de seleção, está correto sintaticamente: if [ $# -eq 1 ] if $dir = $local if $# -eq 1 if $dir -eq $local if [ $# = 1 ] 2a Questão Num Script às vezes solicitamos que o usuário digite uma senha. Por segurança seria interessante que os caracteres não sejam exibidos na tela. Qual o comando mais adequado para realizar esta tarefa? echo "digite a senha"; read senha echo "digite a senha"; read -s "senha" read -p "digite a senha: " -d'?' senha read -p "digite a senha: " -n'?' senha echo "digite a senha"; read $senha 8a Questão Qual o trecho de código que deveria ser colocado em substituição à expressão COMANDO no script abaixo para que sejam exibidos os arquivos com extensão .conf no diretório /etc? #!/bin/bash for COMANDO do echo $i done cat /etc/conf *.conf in /etc ls ¿la /etc/*.conf i in /etc/*.conf ls /etc/conf 1a Questão Qual o comando que conta a quantidade de linhas, palavras e caracteres em um arquivo? df free wc space count 2a Questão O comando que exibe a versão do kernel da estação é: sys -t type -x ver -ax kernel -al uname -a 3a Questão Qual o comando para renomear o arquivo script1.sh para old-script1.sh. rename script1.sh old-script1.sh mv script1.sh old-script1.sh mv old-script1.sh script1.sh ren script1.sh old-script1.sh rename old-script1.sh script1.sh 4a Questão Selecione a opção que define o que é executado com o comando touch prova.txt Exclui prova.txt Cria um novo arquivo prova.txt Verifica se existe prova.txt Exibe o conteúdo de prova.txt Edita prova.txt 5a Questão Qual a linha de comando que representa quantos usuários eu tenho no meu sistema? cat /etc/passwd |wc -l cat /etc/passwd |grep total tail /etc/passwd adduser total count users 6a Questão Qual comando abaixo lista arquivos e diretórios ? nenhuma das opções de resposta. grep cp ls cat 7a Questão Sobre comandos básicos, marque a opção incorreta: O comando mv tanto move quanto renomeia um arquivo. O comando env mostra as variáveis de ambiente do seu terminal. O comando chmd modifica permissão de um arquivo. O comando pwd é responsável por acessar um diretório. mkdir é responsável por criar diretório. 1a Questão Qual comando que apresenta o conteúdode um arquivo? nenhuma das alternativas pwd cat ps aux ls 2a Questão O comando nl arquivo Equivale a: ls -la arquivo tail -f arquivo mv arquivo cat -n arquivo uname arquivo 3a Questão qual o comando que formata a data da seguinte forma: 31-12-2014 02:30 date +"%D-%M-%Y %h%m" date +%d-%M-%Y %t%m date +"%d-%m-%a %H%M" date +%D_%M_%Y %h%m date +"%d-%m-%y %H%M" 5a Questão Como um Administrador configura a crontab para executar o script /etc/backup.sh todo domingo às 02:00? 0 * * * 2 /etc/backup.sh 0 * * 2 0 /etc/backup.sh 0 2 * * 0 /etc/backup.sh 2 0 * * 0 /etc/backup.sh 0 2 * * 7 /etc/backup.sh Explicação: 0 2 * * 0 /etc/backup.sh min hora dia mes Dia_semana comando/script 1a Questão Qual das opções abaixo corresponde a função do código representado na linha 5 do scrip a seguir: #!/bin/bash echo "Informe o nome do arquivo" read arquivo pos=expr∈dex$arquivo. tamtotal=${#arquivo} tamarq=expr$pos−1 tamext=expr${#arquivo}−$pos echo "Tamanho ==> $tamtotal" echo "Tamanho ==> $tamarq" echo "Tamanho ==> $tamext" Número total de vogais da variável "arquivo". Número total de consoantes da variável "arquivo". Número total de caracteres da variável "arquivo". Nenhuma das alternativas Número total da extensão da variável "arquivo". 2a Questão Marque a opção que define o que será executado pelo comando abaixo. $ who | more A lista de usuário logados. A lista de processos ativos por usuário. A lista de arquivos por usuário. A lista de processos do usuário more. A lista dos arquivos do usuário more 3a Questão Qual o comando que exibe o número e conteúdo das linhas de /etc/smb.conf que contenham a expressão users? cat -a /etc/smb.conf | sort "users" cat -n /etc/smb.conf | grep "users" cat -x /etc/smb.conf | grep "users" cat -n /etc/smb.conf | locate "users" cat -l /etc/smb.conf | select "users" 4a Questão Qual o comando usado unir registros de arquivos diferentes que possuam uma chave em comum com os dados ordenados por tal chave? grep sed join awk cut 5a Questão O diretório /home/aula contém apenas o arquivo arq1.sh. O comando KAT não existe. Ao executar o trecho de script abaixo KAT /etc/named.con 2>> arquivo-erro ls -la /home/aula 2>> arquivo-erro Qual será o conteúdo de arquivo-erro bash: KAT: comando não encontrado arq1 arq1.sh Arquivo vazio arquivo-erro 6a Questão O Administrador de Redes recebeu a incumbência de implantar um servidor de arquivos e controlador de domínio em plataforma Gnu/Linux, na empresa existem 1457 funcionários e todos os nomes precisam ser cadastrados no novo sistema, a sua sorte é que existe um cadastro atualizado de todos funcionários que foi cedido pelo recursos humanos em um arquivo de texto, o funcionarios.txt, desta lista eu preciso saber apenas os nomes de todos os funcionários do departamento de vendas, qual comando terá está saída sabendo que em cada linha está no formato "departamento:nome:endereço:salario" egrep "^"vendas" " funcionarios.txt | cut -d":" -f2 grep "^"vendas" " funcionarios.txt|cut -d":" -f1 grep "vendas" funcionarios.txt cat funcionarios.txt |grep "vendas" |filter egrep "vendas" " funcionarios.txt | wc -l 7a Questão Qual o comando que exibe os arquivos em /etc que tenham seu nome NÃO seja iniciado pelas letras entre m e p ? ls /etc | egrep '^[m-p]' ls /etc | egrep '^[^m-p]' ls /etc | egrep '[m-p]' ls /etc | grep '[!m-p]' ls /etc | egrep '[^m-p]' 8a Questão Qual o comando para localizar todas as linhas do arquivo passwd que terminem com a letra m ? grep ^´m´ /etc/passwd. grep `m¿ /etc/passwd. grep %m% /etc/passwd. grep $´m´ /etc/passwd. grep *m /etc/passwd. 1a Questão A sintaxe básica de um comando do dialog é: dialog --W '' # onde W, X, Y e Z, são, respectivamente texto, tipo, origem, destino tipo, texto, altura, largura arquivo; tipo, texto, destino arquivo, tipo, origem destino tipo, texto, largura, altura 2a Questão Qual o trecho de código que abre uma caixa de diálogo que possui um campo para digitar o nome e, em seguida cria um novo usuário a partir do nome digitado? $nome=$(dialog --stdout --title 'Novo usuário?' --inputbox 'Digite o nome:' 0 0) ./adduser $nome nome=dialog --title 'Novo usuário?' --inputbox 'Digite o nome:' 0 0 ./adduser $nome nome=$(dialog --stdout --title 'Novo usuário?' --inputbox 'Digite o nome:' 0 0) ./adduser $nome nome=$(dialog --title 'Novo usuário?' --inputbox 'Digite o nome:' 0 0) ./adduser $nome nome=$(dialog --stdout --title 'Novo usuário?' --inputbox 'Digite o nome:' 0 0) ./adduser nome 3a Questão As caixas do dialog que solicita a digitação de um texto, a caixa que mostra uma mensagem sem botões e a caixa que exibe uma mensagem e um botão aceitar são, respectivamente? inputbox, infobox e textbox msgbox, txtbox e yesno inputbox, infobox e msgbox textbox, infobox e msgbox yesno, textbox e msgbox 4a Questão Em um determinado momento do desenvolvimento de um script, tornou-se necessário verificar qual o tipo de sistema de arquivos o usuário desejaria utilizar na nova partição. Por se tratarem de opções mutuamente exclusivas, qual seria o tipo de diálogo correto para a escolha? calendar checklist yesno infobox radiolist Explicação: Por se tratarem de múltiplas opções, onde apenas uma pode ser escolhida, a opção correta seria um radiolist. 5a Questão No dialog o tipo que permite selecionar mais de uma opção é: gauge radiolist inputbox menu checklist 6a Questão Uma caixa de diálogo pergunta ao usuário se deseja executar install.sh. Qual o script abaixo que realiza esta ação corretamente? dialog --title 'Atenção' --yesno 'Deseja instalar?' 0 0 if [ $? = 0 ] then ./install.sh echo "Respondeu que sim." else echo "Respondeu que não." fi dialog --title 'Atenção' --yesno 'Deseja instalar?' 0 0 if [ $# = 0 ] then echo "Respondeu que sim." else echo "Respondeu que não." fi dialog --title 'Atenção' --yesno 'Deseja instalar?' 0 0 if [ $? = 1 ] then echo "Respondeu que sim." else echo "Respondeu que não." fi dialog --title 'Atenção' --yesorno 'Deseja continuar?' 0 0 if [ $? = 0 ] then echo "Respondeu que sim." else echo "Respondeu que não." fi dialog - - type=yesno --msg 'Deseja instalar?' 0 0 if [ $? = 0 ] then echo "Respondeu que sim." else echo "Respondeu que não." fi7a Questão Ao construirmos um diálogo, é comum a necessidade de se armazenar o valor escolhido ou digitado pelo usuário em uma variável, visando posterior utilização deste valor em meio ao script. Qual o parâmetro necessário para fazer com que o retorno seja armazenado em uma variável? --inputbox --stdout --printf --variable --tail Explicação: Com o uso de --stdout a saída do diálogo é direcionada para uma variável. 1a Questão Com relação à programação shell script, assinale a alternativa INCORRETA: Sempre que precisamos atribuir um valor a uma variável, usamos o operador $ antes do nome dela. Argumentos podem ser passados para os scripts através da linha de comando. Os nomes das variáveis sempre devem começar por uma letra ou o caractere de sublinhado. O comando echo pode ser usado para imprimir dados na tela ou em arquivos. Os parâmetros posicionais podem ser acessados através das variáveis especiais $1, $2, $3, etc. 2a Questão A execução dos comandos abaixo exibe o endereço do diretório corrente, preencha as lacunas abaixo para que essa execução tenha sucesso: prova@estacio:~$ v1=_ _ _ _ _ _ _ _ _ _ _ _ prova@estacio:~$ echo $v1 /home/prova `pwd` (pwd) 'cd ~' 'pwd' `cd ~` 4a Questão Sobre Shell Script é correto afirmar: Um Script que utilize o interpretador bash pode rodar em qualquer dispositivo. Os programas em Shell Script necessitam ser compilados. Os arquivos de um shell script possuem extensão .EXE O comando ¿echo teste¿ produz um som no alto falante do sistema Shell script é uma linguagem de programação interpretada usada em vários sistemas operacionais. 5a Questão Qual alternativa melhor define um script? Um conjunto de números binários que é transformado em código legível pelo interpretador. Um conjunto de comandos e estruturas em um arquivo de texto a ser executado por um interpretador de comandos Um executável contendo código de máquina, que não pode ser entendido após ser gerado Uma interface gráfica para que o usuário possa utilizar a máquina com o mouse Uma biblioteca que contém funções úteis a outros softwares Explicação: Definição básica de um script 7a Questão Marque a opção que NÃO corresponde a uma vantagem da linguagem script em relação à linguagem compilada É uma linguagem sem possibilidade de acesso ao código fonte Permite edição com um editor de textos simples Pode ser testada em qualquer sistema semelhante antes de ser usada em produção Seu código-fonte contém todas as bibliotecas necessárias ao seu funcionamento Pode ser reaproveitada 8a Questão No ambiente UNIX, existem vários interpretadores de linha de comando conhecidos como shell. É importante, para cada script, informar em que shell ele deve ser executado. Para isso, o usuário pode especificar o shell desejado: em um arquivo à parte. em qualquer linha do script. na última linha do script. na linha de comando, após o nome do arquivo que contém o script. na primeira linha do script. 1a Questão Assinale a opção que NÃO descreve característica do Shell Script Controle Simplicidade Compilação Portabilidade Facilidade de desenvolvimento 2a Questão Marque a opção que NÃO corresponde a uma vantagem da linguagem script em relação à linguagem compilada É uma linguagem sem possibilidade de acesso ao código fonte Permite edição com um editor de textos simples Pode ser reaproveitada Seu código-fonte contém todas as bibliotecas necessárias ao seu funcionamento Pode ser testada em qualquer sistema semelhante antes de ser usada em produção 4a Questão No ambiente UNIX, existem vários interpretadores de linha de comando conhecidos como shell. É importante, para cada script, informar em que shell ele deve ser executado. Para isso, o usuário pode especificar o shell desejado: em um arquivo à parte. em qualquer linha do script. na primeira linha do script. na linha de comando, após o nome do arquivo que contém o script. na última linha do script. 5a Questão Sobre Shell Script é correto afirmar: Os programas em Shell Script necessitam ser compilados. O comando ¿echo teste¿ produz um som no alto falante do sistema Um Script que utilize o interpretador bash pode rodar em qualquer dispositivo. Os arquivos de um shell script possuem extensão .EXE Shell script é uma linguagem de programação interpretada usada em vários sistemas operacionais. 6a Questão Qual alternativa melhor define um script? Um conjunto de números binários que é transformado em código legível pelo interpretador. Um executável contendo código de máquina, que não pode ser entendido após ser gerado Um conjunto de comandos e estruturas em um arquivo de texto a ser executado por um interpretador de comandos Uma biblioteca que contém funções úteis a outros softwares Uma interface gráfica para que o usuário possa utilizar a máquina com o mouse Explicação: Definição básica de um script 7a Questão Assinale a opção que NÃO descreve característica do Shell Script Facilidade de desenvolvimento Controle Simplicidade Portabilidade Complexidade 8a Questão Com relação à programação shell script, assinale a alternativa INCORRETA: O comando echo pode ser usado para imprimir dados na tela ou em arquivos. Os nomes das variáveis sempre devem começar por uma letra ou o caractere de sublinhado. Argumentos podem ser passados para os scripts através da linha de comando. Sempre que precisamos atribuir um valor a uma variável, usamos o operador $ antes do nome dela. Os parâmetros posicionais podem ser acessados através das variáveis especiais $1, $2, $3, etc. 2a Questão Observe o script a seguir e escolha a opção correta que poderia completar a lacuna: echo "Digite o nome do arquivo: " read nome if [ ! -f $nome ]; then ______________ fi echo "O arquivo $nome não pode ser executado." echo "O arquivo $nome não existe." echo "O arquivo $nome não é um arquivo regular." echo "O arquivo $nome não tem permissão de leitura." echo "O arquivo $nome é na verdade um diretório." 3a Questão O script abaixo contém um erro que faz com que o loop fique em execução indefinidamente. As linhas do script estão numeradas e não devem ser consideradas como parte do conteúdo. Indique a linha que contém o erro e a sua redação correta para que o script conclua a sua execução: 1 #!/bin/bash 2 x=0 3 while [ $x -lt 5 ] 4 do 5 echo $x 6 x=x+1 7 done linha 3, while [ $x -lt -5 ] linha 5, echo $x+1 linha 6, let x=x+1 linha 7, endwhile linha 4, start 4a Questão Assinale a forma correta de atribuir um valor a uma variável no shell script: 5=$a $a=5 $a:=5 a:=5a=5 5a Questão Qual variavel incorporada que representa todos os argumentos da linha de comando? $* $n $$ $# 6a Questão No shell script é possível testar, através de operadores, diferentes opções de um arquivo, EXCETO: Se é um diretório Se tem permissão de escrita Se o arquivo existe Se o arquivo é do tipo texto Se o arquivo é executável 7a Questão Para realizar uma comparação entre valores numéricos numa estutura if qual a forma correta para se a variável a é maior ou igual a b? [ $a -lt $b ] [ $a -ge $b ] [ a -eq b ] [ a>=b ] [ $a > $b or $a=$b ] 8a Questão Qual o trecho de código adequado para verificar se o arquivo /etc/teste existe ? if [ -e /etc/teste ] if [ -x /etc/teste ] if [ -f /etc/teste ] if [ -c /etc/teste ] if [ -n /etc/teste ] 2a Questão Sobre uma variável em Shell Script podemos afirmar: As variáveis sempre recebem $ na frente, seja na atribuição de valores seja nas operações com a variável Tem seu valor atribuído como em '$x=5' Deve ser ter seu tipo declarado, como 'int a' Não pode ser redefinida ao longo do Script Tem seu valor atribuído diretamente como em 'x=5' 3a Questão Argumentos são passados para o script a partir da linha de comando por intermédio das variáveis $0, $1, $2, $3, ... , Qual das variáveis retorna o nome do próprio script? $0 $1 $2 $3 $4 5a Questão Shell script utiliza as mesmas construções para controle de fluxo ou desvios que linguagens de programação de alto nível. Qual das alternativas abaixo caracteriza a sintaxe de um desvio que verifique se a variável nota é maior ou igual a seis? if [ $nota -gt 6 ]; if [ $nota > 6 ]; if [ $nota >= 6 ]; if [ $nota -gc 6 ]; if [ $nota -ge 6 ]; 8a Questão Sobre as operações matemáticas em Shell Script escolha a opção INCORRETA: O comando let permite fazer operações aritméticas com números inteiros Não é possível realizar operações com números reais. Entre os operadores aritméticos temos a soma, a subtração, a multiplicação, a divisão a exponenciação e o módulo. As operações ((n=n+10)) e n=$((n+10)) são equivalentes, isto é, para um determinado valor de n produzem o mesmo resultado. A expansão aritmética, através dos operadores (()) ou $(()), pode ser empregada para realizar operações aritméticas com números inteiros. 1a Questão O que acontecerá na execução do script abaixo? a="ESTACIO" b="estacio" if [ $a -ne $b ] then echo $a nao e igual a $b else echo $a e igual a $b fi Nada será exibido pois o texto utilizado nos comandos echo não estão entre aspas. Não será executado em função do erro no operador de comparação Será exibido "Estacio nao e igual a estacio" Não será executado em função do erro de utilização das aspas nos nomes das variáveis Será exibido "Estacio e igual a estacio" 2a Questão No Script abaixo: #!/bin/bash a=5 b=3 let c=$a+$b echo "c" O que seria apresentado na tela? 5 + 3 mensagem de erro $c c 8 3a Questão De que forma, dentro de um script, podemos acessar os parâmetros passados ao mesmo? $ARGS{N}, onde N é o número do argumento Não é possível @N, onde N é o número do argumento #N, onde N é o número do argumento $N, onde N é o número do argumento Explicação: Cada argumento é numerado e pode ser acessado através da varável $N, sendo N o número do argumento recebido pelo script. 4a Questão Em shellscript, há a possibilidade de utilizar variáveis especials na linha de comando. Neste sentido, ao se utilizar a variável $0 no script.sh, o que será apresentado em tela como resultante de um comando echo $0? 1 0 $0 script.sh $ 5a Questão Qual o resultado do script abaixo? #!/bin/bash for (( var=1; var<5; var++)); do x=$var done case $x in 5) x=0 ;; 4) x=1 ;; 3) x=2 ;; 2) x=3 ;; 1) x=4 ;; esac echo $var$x 54 52 55 51 53 6a Questão Qual o resultado do script abaixo? #!/bin/bash Idade=28 idade=29 echo "$Idade" '$Idade' "$idade" 28 Idade 29 $Idade" '$Idade' "$idade 28 $idade 29 28 28 29 28 $Idade 29 1a Questão Quando um Bash script é executado com parâmetros na linha de comando, podemos usar uma variável para exibir todos os parâmetros passados. Essa variável é: $# $10 $* $? $1 2a Questão O comando ./script.sh 4 5 Enviado a script.sh cujo código está abaixo: #!/bin/bash a=$1 b=$2 if [ $a -gt $b ] then echo "a é maior que b" else echo "b é maior que a" fi Apresenta como resultado: b é maior que a b é menor que a erro pois $1 não foi definido a é menor que b a é maior que b 4a Questão Qual dos comandos abaixo faz parte da estrutura IF e é utilizado para fazer uma comparação de igualdade entre duas variáveis (nun1 e nun2), na plataforma Linux? IF [$nun1 -et $nun2 ] IF [$nun1 -ig $nun2 ] IF [$nun1 -eg $nun2 ] IF [$nun1 -rt $nun2 ] IF [$nun1 -gt $nun2 ] 6a Questão Considerando um trecho de um script que execute um comando de seleção, está correto sintaticamente: if [ $# = 1 ] if $# -eq 1 if [ $# -eq 1 ] if $dir -eq $local if $dir = $local 7a Questão Sobre o uso de variáveis assinale a alternativa INCORRETA: Uma variável pode começar por uma letra ou sublinhado Para atribuir o valor a uma variável basta colocar o valor após o símbolo de igual (=) Para obter o valor de uma variável é necessário incluir o caractere cifrão ($) antes do nome da variável Nomes de variáveis podem conter qualquer quantidade de letras, dígitos e sublinhados O conteúdo de uma variável não indica seu tipo ou operação a ser realizada. Como exemplo, um número no seu conteúdo não indica que a variável é do tipo numérica, nem que operações aritméticas possam ser realizadas com o seu valor. 8a Questão Qual será o valor que será exibido ao executar o script abaixo: #!/bin/bash x=26 let y=x%13 echo $y 1 0 2 26 13 1a Questão São blocos de comandos que podem ser definidos para uso posterior em qualquer parte do código. Dentre os aprendidos em sala de aula, destaca-se um com o nome de ZZ. Echo Programa Procedimentos Sprint Funções Respondido em 21/05/2019 13:37:03 2a QuestãoA primeira linha do script, se inicia com qual sequência de caracteres ? #? #! *! ## Respondido em 21/05/2019 13:38:16 3a Questão Qual das opções abaixo melhor explica o script seguinte: @echo off cls FOR /F "tokens=1,2 delims=, " %%i IN (alunos.txt) DO mkdir %%i pause Exibe o conteúdo do arquivo aluno.txt e depois faz uma pause. Cria diretorios de acordo com o conteúdo do arquivo alunos.txt. Cria arquivos de acordo com o nome do arquivo aluno.txt Lista todo o conteúdo do arquivo alunos.txt. Apaga todos os arquivos da pasta corrente Respondido em 21/05/2019 13:47:28 4a Questão Os processos computacionais no sistema operacional Linux podem ser executados por meio de Shell scripts que automatizam e facilitam a interação do usuário com o Linux. Para indicar o tipo de Shell a ser utilizado para a execução do script, o arquivo contendo o script deve ter, na primeira linha, a declaração: $#/bin/sh %/bin/bash $/bin/bash #!/bin/bash #/bin/bash Respondido em 21/05/2019 13:47:56 6a Questão Analise as afirmações abaixo e assinale a alternativa CORRETA: I - O Shell é um interpretador de comandos do SO que faz a interface entre o usuário e o kernel. II - Dentre as principais razões para utilização de shell scripts estão a simplicidade e o compartilhamento de informações. III - Para escrever um shell script, podemos utilizar qualquer editor de arquivos de textos simples (plain text). IV - O pipe (representado pelo símbolo @) transforma a saída de um comando na entrada do próximo. Somente a alternativa III é verdadeira. Somente a alternativa I é verdadeira. Somente as alternativas I e II são verdadeiras. Somente as alternativas III e IV são verdadeiras. Somente as alternativas I e III são verdadeiras. Respondido em 21/05/2019 13:49:52 7a Questão O script a seguir é um exemplo bem comum em Servidores de Aplicação, em que é possível iniciar, parar e reiniciar serviços. Marque a alternativa CORRETA sobre ele: #!/bin/bash if [ "$#" -eq "0" ] then echo "Nao foram inseridos parametros!" echo "Modo de uso: $0 {start|stop|restart}" fi if [ "$1" == "start" ] then echo "Iniciando . . ." [...] Na linha 5 do script, o valor $0 será substituído pelo primeiro parâmetro digitado pelo usuário. É possível substituir ¿-eq¿ por ¿==¿ na linha 2 sem prejuízo para o funcionamento do programa. Na linha 5 do script, o valor $0 será substituído pelo nome do script. Isso aconteceria mesmo se a mensagem estivesse em aspas simples. É possível verificar que o script está completo, já que todas as possibilidades de parâmetros foram implementadas. É possível verificar que o script exige que seja inserido pelo menos um parâmetro. Respondido em 21/05/2019 13:53:20 8a Questão Qual das opções abaixo melor explica o comando da linha 2? 1. #!/bin/bash 2. wc /etc/passwd Exibe o conteúdo do arquivo passwd. Ler todas as linhas do arquivo passwd e coloca em um vetor. Exibe o número de linhas do arquivo passwd. Exibe o número de linhas do arquivo, o número de palavras e o número de caracteres. Nenhuma das alternativas. 1a Questão O trecho de código que calcula e exibe o quadrado do número digitado utilizando uma função é: function quadrado { q=$1 * $1 echo $q } read ¿ p ¿Digite um número: ¿ x quadrado $x function quadrado x { q=$1 * $1 echo $q } read ¿ p ¿Digite um número: ¿ x quadrado $x ) function quadrado { q=$1 * $1 echo $q } read ¿ p ¿Digite um número: ¿ $y quadrado $x function quadrado () { q=$1 * $1 echo $q } read ¿ p ¿Digite um número: ¿ x quadrado $x function quadrado { q=$1 * $1 echo $q } read ¿ p ¿Digite um número: ¿ $x quadrado $x Respondido em 26/05/2019 00:42:28 2a Questão Não são raras as vezes em que precisamos reutilizar determinada funcionalidade em diversos scripts diferentes. Para tal, existe uma palavra reservada voltada para a inclusão de um script dentro de outro, como uma biblioteca, viabilizando a chamada das funções contempladas pelo script englobado. Que palavra reservada é esta? using import include source uses Respondido em 26/05/2019 00:44:20 Explicação: O correto é source, palavra reservada que inclui todo o texto de um segundo script ao chamador, incluindo suas funções. 3a Questão Deseja-se construir uma função que receba a posição inicial, velocidade inicial, aceleração e tempo de observação, nesta ordem, e apresente a posição final de um determinado componente, desprezando-se efeitos como gravidade e atrito. A fórmula física para este tipo de problema é dada por: S=So+VoT+A2T2S=So+VoT+A2T2 Qual expressão completaria corretamente o script? func deslocamento(){ # LINHA FALTANDO # echo "A posição final será $pos" } let pos = $1 + ($2 * $4) + ($3 / 2) * ($4 * $4) let pos = $1 + ($2 * $3) + ($4 / 2) * ($3 * $3) let pos = $1 + ($2 * 2) + ($3 * $4) / $1 let pos = $1 + ($2 * $3) + ($4 / 2) * $3 let pos = $1 + ($2 * $4) + ($3 * $4) / 2 Respondido em 26/05/2019 00:45:47 Explicação: Para implementar corretamente, basta substituir So por $1, Vo por $2, A por $3 e T por $4 na fórmula original. 4a Questão No script abaixo qual o valor que será exibido na tela? #!/bin/bash func () { local soma let soma=$1+$2 } soma=8 func 2 3 echo "$soma" soma=$1 + $2 $soma 2 3 8 5 Respondido em 26/05/2019 00:46:55 5a Questão No script abaixo qual o valor que será exibido na tela? #!/bin/bash func () { let soma=$1+$2 } soma=8 func 2 3 echo "$soma" 5 $soma 8 soma=$1 + $2 2 3 Respondido em 26/05/2019 00:47:54 6a Questão Qual o resultado da execução do script apresentado? function fatorial() { if [ $1 -le 1 ]; then return 1 else fatorial $(($1 - 1)) return $(( $1 * $? )) fi } fatorial 5 echo $? 100 50 120 5 1 Respondido em 26/05/2019 00:48:36 Explicação: A função apresentada trata de um exemplo recursivo para cálculo de fatorial, e o valor de 5! é 120. 7a Questão Considerando o código abaixo qual valor será mostrado através da variável soma? func () { local soma let soma=$1+$2 echo "$1 + $2 = $soma" } soma=8 func 2 3 echo "$soma" 2 5 8 3 Nenhuma das opções apresentadas 1a Questão Marque a opção que apresenta apenas metacarcteres quantificadores: + . $ ^ ^ * + . $ $ ? + ^ ? * + ? * ^ | Respondido em 26/05/2019 00:50:45 Explicação: Os metacaracteres quantificadores são: opcional ( ? ) asterisco ( * ) mais ( + ) chaves ( { n , m } ) 2a Questão Para obtermos o número de caracteres em uma string podemos usar o seguinte comando${%string}, onde string é a variável com o conteúdo ${*string}, onde string é a variável com o conteúdo ${#string}, onde string é a variável com o conteúdo ${string:length}, onde string é a variável com o conteúdo ${string}, onde string é a variável com o conteúdo Respondido em 26/05/2019 00:51:26 3a Questão São exemplos de comandos internos que, usualmente, podem ser utilizados em Shell Script, EXCETO: ps, wait, let, sleep echo, let, test, read test, read, echo, let let, set, exit, exec print, get, update, date Respondido em 26/05/2019 00:51:54 4a Questão Os arquivos CSV, ou valores separados por ponto-e-virgula, são amplamente utilizados na área financeira e estatística, sendo um dos formatos de exportação para programas como Excel. Um fragmento de arquvo deste tipo pode ser observado a seguir: Nome;Idade;Setor;Sexo;Dependentes Ana;25;Contabilidade;F;Sim Carlos;32;Contabilidade;M;Não Victor;28;Financeiro;M;Sim Supondo que o nome deste arquivo seja /etc/pessoas.csv, qual seria o comando correto para exibir apenas o nome e o setor das pessoas? cat -e -f /etc/pessoas.csv cat /etc/pessoas.csv cut -d: -f 1,6 /etc/pessoas.csv cut -d; -f 1,3 /etc/pessoas.csv sed -e '/^;/d' /etc/pessoas.csv |more Respondido em 26/05/2019 00:52:58 Explicação: O comndo cut é utilizado para este fim, tendo como parâmetros: o separado (-d;), os campos desejados (-f 1,3) e o nome do arquivo. 5a Questão O comando utilizado para exibir as mensagens emitidas durante o processo de inicialização do sistema é: printenv ls -l msg dmesg showmsg Respondido em 26/05/2019 00:53:48 6a Questão Qual o comando no shell script que irá receber o valor digita pelo usuário ? echo read nenhuma das opções de respostas. $$ print 1a Questão Qual será o resultado do script abaixo? #!/bin/bash minimo=0; maximo=10 while [ $minimo -lt $maximo ]; do if [ $minimo -eq 6 ]; then echo $maximo fi let minimo=$minimo+2 done 10 7 8 12 6 Respondido em 26/05/2019 01:08:47 2a Questão Quais os valores que o script abaixo vai exibir? max=5 for (( i=2; i <= $max; ++i )) do echo "$i" done 2, 3, 4 1, 2, 3 e 4 2, 3, 4 e 5 1, 2, 3 , 4 e 5 3, 4 Respondido em 26/05/2019 01:09:28 3a Questão Qual forma para realização de expressão aritmética? $% $[] $() ${} $(()) Respondido em 26/05/2019 01:09:54 4a Questão Em relação aos 'loops' while e until podemos dizer que: until mantém o loop por uma sequência de valores pré-definidas. No while não há possibilidade de ocorrer loop infinito A condição do until não necessita de variável de controle until e while são equivalentes. while fica em loop até a variável de controle tornar-se falsa. Respondido em 26/05/2019 01:10:38 5a Questão Considerando um trecho de um script que execute a repetição de um bloco até que a variável x seja maior que 0, está correto: while [ $x -le 0 ] while [ $x <= 0 ] while [ $x -gt 0 ] while ( x <= 0) while ( $x > 0 ) Respondido em 26/05/2019 01:11:12 6a Questão Qual é o valor da variável x se o comando for executado: let x=14-8/4+3*3 17 34 18 22 21 Respondido em 26/05/2019 01:11:50 Explicação: Como a multiplicação e a divisam apresentam precedência, 14-2+9 = 21. 7a Questão Que trecho de script podemos utilizar para verficar se foi passado algum parâmetro na linha de comando? if [ $? >= 0 ] if [ $# > 1 ] if [ $# -gt 0 ] if [ $? = 1 ] if [ $? -gt 0 ] Respondido em 26/05/2019 01:12:44 8a Questão Analise o script abaixo: #!/bin/bash clear echo -e "\t ======================================== \n " echo -e "\t Prova de Script: \c" echo $(date +"%T") echo -e "\t ======================================== " echo -e "\t ======================================== \n " cor=vermelho cor=verde cor=azul cor=preto cor=amarelo if [ "$1" -ne "$2" ] && [ "$2" -lt "$3" ] then cor=azul else cor=amarelo fi if [ "$1" -ge "$2" ] && [ "$2" -lt "$3" ] then cor=vermelho else cor=verde fi if [ "$3" -le 48 ] then cor=azul fi echo " A cor é: $cor" O script foi chamado pela linha de comando: script 3 65 48 Assinale o que será exibido na tela na ultima linha após execução do script. A cor é: amarelo A cor é: vermelho A cor é: preto A cor é: azul A cor é: verde 1a Questão Crie no servidor uma linha de agendamento do script /tmp/teste.sh que seja executada todas as sextas-feira às 2:30 da manhã do mês de maio: 30 2 * 5 5 /tmp/teste.sh 2 30 * 5 6 /tmp/teste.sh 30 2 * 5 5 cd /tmp\; ./teste.sh 30 2 * 5 6 /tmp/teste.sh 6 2 30 5 * /tmp/teste.sh Respondido em 26/05/2019 01:15:49 Explicação: Expressão do agendador: 30 2 * 5 5 /tmp/teste.sh. Isto significa 30 min, 2 horas (2:30) do quinto dia da semana (sexta) do mês de maio (5), execute o comando. 2a Questão A execução do script teste1.sh abaixo apresentará como resultado na tela: #!/bin/bash cd /etc pwd set -r cd /home pwd /etc , ./teste1.sh: line 5: cd: restricted e /etc cd /etc e cd/home /etc e /home pwd e pwd ./teste1.sh: line 4: set: comando não encontrado Respondido em 26/05/2019 01:16:33 3a Questão Qual a linha a ser adicionada no crontab para que o script /etc/backup.sh seja executado entre segundas e sextas-feiras às 10 horas da noite ? 0 22 * * 0-4 /etc/backup.sh 0 22 * * 1-5 /etc/backup.sh /etc/backup.sh 0 22 * * * 1-5 0 22 0 0 1-5 /etc/backup.sh 0 22 * * *1-5 /etc/backup.sh Respondido em 26/05/2019 01:17:11 4a Questão Quais comandos um Administrador precisa efetuar para criar um arquivo de fita chamado FITA.tar com o conteúdo de todos os arquivos do diretório /home/estacio/PS2017 e compactá-los? tar -uvf FITA.tar /home/estacio/PS2017; gunzip FITA.tar tar -cvf FITA.tar /home/estacio/PS2017; gzip FITA.tar tar -tvf FITA.tar /home/estacio/PS2017; gzip FITA.tar tar -cvf FITA.tar /home/estacio/PS2017; compact FITA.tar tar -xvf FITA.tar /home/estacio/PS2017; gzip FITA.tar Respondido em 26/05/2019 01:18:01 Explicação: tar -cvf FITA.tar /home/estacio/PS2017; gzip FITA.tar 5a Questão Qual o comando que agenda a execução de /etc/aula.sh às 07:30 da manhã de 02 de junho de 2017? at -t 073002062017 -f /etc/aula.sh at -f 07:30:02:06:2017 /etc/aula.shat -t 201706020730 -f /etc/aula.sh at -f 201706020730 -t /etc/aula.sh at -t 201706020730 /etc/aula.sh Respondido em 26/05/2019 01:19:10 6a Questão Para obtermos as linhas 10, 11, 12, 13, 14 e 15 do arquivo /etc/passwd utilizamos: head -10 - 15 /etc/passwd tail -5 /etc/passwd head -5 /etc/passwd tail -10 - 15 /etc/passwd head -15 /etc/passwd | tail -5 Respondido em 26/05/2019 01:19:41 7a Questão Um determinado script possui o trecho de código abaixo: ( while [ 1 ] do sleep 1 done ) ( while [ 1 ] do sleep 1 done )& ( while [ 1 ] do sleep 1 done ) Caso em outra janela fosse dado o comando: ps ¿ef|grep q5.sh Qual seria a resposta coerente entre as opções abaixo? [root@professor scripts]# ps -ef|grep q5.sh root 20584 2653 0 14:17 pts/1 00:00:00 /bin/bash ./q5.sh root 20585 20584 0 14:17 pts/1 00:00:00 /bin/bash ./q5.sh root 20585 20586 0 14:17 pts/1 00:00:00 /bin/bash ./q5.sh root 20677 2671 0 14:18 pts/2 00:00:00 grep q5.sh [root@professor scripts]# ps -ef|grep root 20584 2653 0 14:17 pts/1 00:00:00 /bin/bash ./q5.sh root 20585 20584 0 14:17 pts/1 00:00:00 /bin/bash ./q5.sh root 20677 2671 0 14:18 pts/2 00:00:00 grep q5.sh [root@professor scripts]# ps -ef|grep q5.sh root 20584 2653 0 14:17 pts/1 00:00:00 /bin/bash ./q5.sh root 20585 20584 0 14:17 pts/1 00:00:00 /bin/bash ./q5.sh [root@professor scripts]# ps -ef|grep q5.sh root 20584 2653 0 14:17 pts/1 00:00:00 /bin/bash ./q5.sh root 20585 20584 0 14:17 pts/1 00:00:00 /bin/bash ./q5.sh root 20677 2671 0 14:18 pts/2 00:00:00 grep q5.sh [root@professor scripts]# ps -ef|grep q5.sh root 20584 2653 0 14:17 pts/1 00:00:00 /bin/bash ./q5.sh Respondido em 26/05/2019 01:21:00 8a Questão Qual o comando para encontrar, a partir do home do usuário atual, apenas arquivos que comecem com a letra "a" e tenham sido modificados há menos de 5 dias. find ~/ -type a -name "a*" -mtime +5 find / -type f -name "a*" -mtime +5 find ~/ -type f -name "a*" -mtime -5 find /~ -type f -name "a*" -mtime 5 find ~/ -type a -name "a*" -mtime 5 Respondido em 26/05/2019 01:21:41 Explicação: find ~/ -type f -name "a*" -mtime -5 ~/ indica home do usuario atual -type f indica só arquivos -name "a*" arquivos que começam com "a" -mtime -5 arquivos modificados há menos de 5 dia 1a Questão Qual das opções a seguir indica um nome válido de uma variável? @teste nome*usuario 21brasil #teste cor Respondido em 26/05/2019 01:23:03 2a Questão Em shell script, a expressão "quadrado=4**2": Armazena na variável quadrado o valor 16. Armazena na variável quadrado o valor 8. Compara o valor da variável quadrado com o valor 16. Compara o valor da variável quadrado com o valor 8. Armazena na variável quadrado a string "4**2". Respondido em 26/05/2019 01:23:46 3a Questão No Script: #!/bin/bash a=5 b=3 c=$a+$b echo "Soma = "$c O que aparece como resposta na tela? "Soma = "$a +$b 8 "Soma =" $c Soma = 8 Soma = 5+ 3 Respondido em 26/05/2019 01:24:23 4a Questão Ao chamar um script com o comando: ./script.sh servidor1 servidor2.com 5 As variáveis $0 e $ 2 serão: servidor1 e servidor servidor1 e .com servidor 1 e 5 script.sh e .com script.sh e servidor2.com Respondido em 26/05/2019 01:24:55 5a Questão O script1.sh tem o conteúdo: #!/bin/bash ./script2.sh Vasco script2.sh tem o conteúdo: clube=$1 echo $clube case "$clube" in Botafogo ) echo "Preto e Branco";; Flamengo ) echo "Rubro-Negro";; Fluminense ) echo "Tricolor";; Vasco ) echo "Campeão";; * ) echo "Nenhuma resposta";; esac O comando ./script1.sh apresenta como resposta na tela: Fluminense Tricolor Rubro-Negro Vasco Campeão Nenhuma resposta Preto e Branco Respondido em 26/05/2019 01:25:25 6a Questão Muitas vezes, queremos elaborar um script que efetue a soma de n números, possibilitando deixar o usuário livre para por quantos números deseja somar em linha de execução. Para tanto devemos utilizar uma variável especial para identificar o número de parametros passados. Esta variável é: $$ $# $? $2 $0 Respondido em 26/05/2019 01:26:07 7a Questão A chamada a um script foi feita com o comando: ./script.sh nome telefone 7 matricula Assinale a opção INCORRETA referente aos argumentos dentro do script: $3 retorna 7 $2 retorna telefone $4 retorna matrícula $0 retorna nome $1 retorna nome Respondido em 26/05/2019 01:26:37 8a Questão Sobre estruturas condicionais em Shell Script assinale a alternativa INCORRETA. Testes condicionais podem incluir operadores lógicos and (&&) e or (||) Testes condicionais podem ser realizados através dos operadores (()) Entre os operadores de comparação de inteiros podem ser citados o -eq, -ne, -gt, -ge, -lt e -le Em Shell os comandos, quando terminam, retornam um valor inteiro para o programa que o invocou e esse valor pode ser testado para saber se o comando executou corretamente Comparações relacionais podem ser realizadas através do comando test 1a Questão (Ref.:201803031173) Acerto: 1,0 / 1,0 Entre as características abaixo selecione aquela que não é uma vantagem de se utilizar shell scripts: Facilidade de desenvolvimento. Pode-se desenvolver um shell script poderoso e útil em pouco tempo; Portabilidade. Por ser universal entre sistemas Unix, existe uma grande chace de um shell script escrito para um sistema ser transferido para outro sem necessidade de alterações; Simplicidade. Por ser uma linguagem de alto nível, é possível expressar operações complexas de forma e simples; Recursos. Utilização de poucos recursos por necessitar apenas de linhas de comandos textuais; Performance - Shell Scripts ocupam muitos recursos do sistema por exigirem muito processamento Respondido em 26/05/2019 01:29:20 2a Questão (Ref.:201802693474) Acerto: 1,0 / 1,0 Qual comando abaixo cria um diretório? cp ls cat mkdir Respondido em 26/05/2019 01:29:57 3a Questão (Ref.:201802697104) Acerto: 1,0 / 1,0 Qual símbolo deve ser utilizado para obter o retorno de uma função? $* $@ $# $? # Respondido em 26/05/2019 01:30:22 4a Questão (Ref.:201803031267) Acerto: 1,0 / 1,0 Complete a lacuna no Script abaixo para que ele exiba os inteiros entre 10 e 1: while [ $n -gt 0 ] do echo $n _____________________________ sleep 1 done gt=gt+1 gt+=1 n=n+1 $n = gt + 1 let n=n-1 Respondido em 26/05/2019 01:31:23 5a Questão(Ref.:201803031263) Acerto: 1,0 / 1,0 No script #!/bin/bash for i in /etc/*.conf do echo $i done Qual a ação realizada? Lista os arquivos no diretório do script Exibe os arquivos .conf em /etc Exibe os valores inteiros de i, de 0 até o valor de conf Não exibe nenhum valor Sobrescreve o conteúdo de /etc Respondido em 26/05/2019 01:32:11 6a Questão (Ref.:201803031272) Acerto: 0,0 / 1,0 No script abaixo o que será exibido na tela: LIMIT=10 a=1 until [ "$a" -le $LIMIT ] do echo -n "$a " let a+=1 done $a Nenhuma resposta na tela 10 9 8 7 6 5 4 3 2 1 a 10 9 8 7 6 5 4 3 2 1 0 Respondido em 26/05/2019 01:33:06 7a Questão (Ref.:201802693467) Acerto: 1,0 / 1,0 Qual comando abaixo mostra o conteúdo do arquivo? mv grep ls cat Respondido em 26/05/2019 01:33:20 8a Questão (Ref.:201802088636) Acerto: 1,0 / 1,0 Para obtermos as ultimas 5 linhas do arquivo /etc/passwd utilizamos: tail /etc/passwd 5 cat /etc/passwd | less 5 less -5 /etc/passwd head -5 /etc/passwd tail -5 /etc/passwd Respondido em 26/05/2019 01:33:35 9a Questão (Ref.:201802703301) Acerto: 1,0 / 1,0 Qual comando utilizado para listar informações sobre todos os processos em execução? ps -aux ls -alR pwd -ax df -h ls -al Respondido em 26/05/2019 01:34:02 10a Questão (Ref.:201802857636) Acerto: 1,0 / 1,0 Um Administrador está editando o script teste.sh que é bem longo. Ao executar recebe uma mensagem de erro na linha 56. Qual o comando mais adequado para visualizar o script e localizar a linha 56? print teste.sh view teste.sh dir teste.sh read teste.sh cat n teste.sh