Questões de Concurso Público SERPRO 2008 para Analista - Suporte Técnico

Foram encontradas 2 questões

Q309520 Programação
Acerca da programação em linguagens shell de script, julgue os
itens subseqüentes.
Considerando o código a seguir, é correto afirmar que não há erros de sintaxe; é possível executar o código para copiar ou mover arquivos do diretório identificado por dir1 para o identificado por dir2; os arquivos de subdiretórios em dir1, caso existam, serão copiados para dir2.

#! /bin/csh -f
echo 'Diretorio de origem:'
set dir1=($<)
echo 'Diretorio de destino:'
set dir2=($<)
if ((! -d $dir1)**(! -d $dir2)) then
         echo "Diretorios incorretos."
endif
echo 'Extensao dos arquivos:'
set ext=($<)
echo 'Digite comando [cp ou mv]:'
set comando=($<)
switch ($comando)
case 'cp':
         foreach arquivo (dir1/*)
              if (! -d $arquivo && $arquivo =~ *.ext) then
                   cp $arquivo dir2
              endif
         end
case 'mv':
         foreach arquivo (dir1/*)
              if (! -d $arquivo && $arquivo =~ *.ext) then
                   mv $arquivo dir2
              endif
         end
default:
         echo 'Comando invalido'
         exit 01
endsw
exit 0

Alternativas
Q309521 Programação
Acerca da programação em linguagens shell de script, julgue os
itens subseqüentes.
Quanto ao código a seguir, é correto afirmar que não há erros de sintaxe; o argumento deve ser um nome de arquivo para que não haja falha; $1 identifica o argumento; o número e o conteúdo de cada linha no arquivo serão apresentados, se o argumento for um nome de arquivo com extensão sh ou csh.

#!/bin/sh
function imprimir ()
{
           echo "Arquivo:" $1
           echo "Tamanho:" $(wc $1)
           linha=
           n = 0
           while read linha; do
                 ((n = n + 1))
                 echo "n : linha";
           done
}
if [ $# -ne 1 ]; then
           echo "Falha na execucao."
           exit 2;
fi
if [ ! -r "$1" ]; then
           echo "Falha na execucao."
           exit 2;
fi
case $1 in
                      *.sh) imprimir
                                    break
                      *.csh) imprimir
                                    break
                      *) echo "Tipo invalido."
                                    exit 1
exit 1;

Alternativas
Respostas
1: E
2: E