quinta-feira, 3 de maio de 2018

Script - Desafio

DESAFIO 25.04.18 – ETEC  – REDES - SCRIPT
 
1- Quando criamos um script bash, qual deve ser o valor da primeira linha?
R: #!bin/bash

2- Posso executar um script em bash que não possui permissão de execução? Caso sim, como faço? R: Sim,  #bash nome-do-script.sh

3- Como criar um comentário em Shell Script? Dê um exemplo.
 R  #isso é um comentário

4- Existe um script chamado nome-sobrenome-musica.sh o qual precisa ser passado três parâmetros: nome, sobrenome e música. Levando em conta que os parâmetros a serem executados são: SeuNome, SeuSobrenome e Pais e Filhos. Pede-se:
a) Com o script deverá ser executado com os parâmetros?
b) Após o script ser executado e como resultado obter a seguinte saída: Nome: Carlos Sobrenome: Tojeiro Nome da música: Pais e Filhos

a- bash nome-sobrenome-musica.sh SeuNome SeuSobrenome “Pais e Filhos”
 ou        
    ./ nome-sobrenome-musica.sh Carlos Tojeiro “Pais e Filhos” 
OBS. No ultimo parâmetro o nome está entre aspas pois existe espaço no nome.

b-  #!/bin/bash
echo "SeuNome: $1"

echo "SeuSobrenome: $2" 
echo "Nome da música: $3"


5-  O que o script abaixo vai fazer? 

for i in `ls *.JPG`; do
   mv -v $i ${i/.JPG/.jpg}
 done
R- Renomeia todos os arquivos com extensão .JPG para .jpg no diretório local.

6- Considere o seguinte script, salvo em um arquivo e com a permissão de execução:

#!/bin/bash 
for $i in j; do 
  echo $i 
done

Qual a saída produzida no terminal por esse script?
R- Não há saída pois existe um erro no script de identificador inválido no primeiro “$i”.            
 
 7-  Observe o seguinte script testando.sh:

#!/bin/bash
 if [ -d “$1” ]; then
  echo “0”
else  
echo “1”
fi
$ bash testando.sh /sbin - linha para executar

Qual a saída produzida no terminal por esse script?
R-  0
 
8-  Crie um script em shell que mostre a linha de um arquivo contendo a palavra “Ferrari”. O arquivo deverá ser passado como parâmetro, ou seja, a execução será algo como: bash script.sh arquivo. Caso nenhum arquivo seja passado como parâmetro, deverá obter a saída: “Erro, arquivo não existe”. Obs.: Crie um arquivo carro.txt como parâmetro.

R- #!/bin/bash
# Verifica se o arquivo existe com o parâmetro $1 que recebe o arquivo.

 if [ -z $1 ]; then 
 echo "Erro, arquivo faltando"
 else 
# Se o arquivo existe, é realizado um filtro com o grep e procura da palavra "Ferrari".
 Se a palavra existir, é exibida .   
 cat $1 | grep -i "Ferrari" 
fi

Arquivo carro.txt  
Cruze
 Fusca         
BMW         
Ferrari         
Saveiro         
Gol

9- Crie um script em shell para verificar se hoje é dia 5, caso afirmativo mostrar:“Dia de pagamento”, senão exibir: “Alerta! economizar ”.

R- #!/bin/bash

#Podemos utilizar o comando date diretamente dentro da checagem if, mas em alguns scripts podem ficar com uma apresentação melhor transformando comandos em variáveis, como no caso que irá transformar o resultado do comando date para dia em uma variável chamada $DIA

DIA=$(date +%d) #Confere se hoje é dia 5 if [ $DIA = 5 ]; then        
 #Caso seja dia 5 exibe a mensagem a seguir 
 echo "Dia de pagamento."
 else         
#Caso NÃO seja dia 5 exibe a mensagem a seguir 
 echo "Preciso economizar nas contas" 
fi

10- Qual é o comando que fecha a estrutura de repetição for e while?
 R- done

11 - Utilize o comando read para perguntar o nome do usuário, exibi-lo na tela e, por fim,  salvar no arquivo “/tmp/usuario”. 

 #!/bin/bash
 echo "Qual seu nome?"

 read nomeusuario;
 echo "$nomeusuario" > /tmp/usuario 
echo "O nome do usuário é: $nomeusuario" 

FIM

Nenhum comentário:

Postar um comentário