Sie sind auf Seite 1von 3

Listas 1 e 2 - Pablo Augusto Sanches - RA: 0040451113039 - S.I (Noturno) Exercicio 0 #!

/bin/bash echo "Saida padrao sem append: '>'" echo "Saida de erro sem append: '2>'" echo "Saida padrao com append: '>>'" echo "Saida de erro com append: '2>>'" echo "Saidas padrao e de erro sem append: '>&'" echo "Saidas padrao e de erro com append: '>>' em algum arquivo e '2>&1' no final do comando" echo "Entrada padrao: '<'" Exercicio 1 #!/bin/bash ps ax > saida1.ps.txt ps aux > saida2.ps.txt ls /etc > saida3.ls.txt Exercico 2 #!/bin/bash ls /root 2> saida4.ls.txt kill -9 1 2> saida5.kill.txt touch /root/x 2> saida6.touch.txt Execicio 3 #!/bin/bash ls /etc/* /root/* >> saida7.ls.txt 2>&1 touch X Y /root/Z >> saida8.touch.txt 2>&1 Exercicio 4 #!/bin/bash ps ax > saida1.ps.txt >> saida9.comum.txt ps aux > saida2.ps.txt >> saida9.comum.txt ls /etc > saida3.ls.txt >> saida9.comum.txt ls /root 2> saida4.ls.txt >> saida9.comum.txt kill -9 1 2> saida5.kill.txt >> saida9.comum.txt touch /root/x 2> saida6.touch.txt >> saida9.comum.txt ls /etc/* /root/* >> saida7.ls.txt 2>&1 >> saida9.comum.txt touch X Y /root/Z >> saida8.touch.txt 2>&1 >> saida9.comum.txt Exercicio 5 #!/bin/bash cut -d ';' -f 1 < /etc/passwd sed 's/root/chefao/g' < /etc/passwd Exercicio 6

#!/bin/bash echo "6.1 Transforma uma sequencia de caracteres para maiusculo" echo "6.2 O operador '<' serve para apresentar o arquivo de entrada (/etc/passwd)" echo "6.3 Joga o resultado do comando para dentro de um arquivo temporario (/tmp/rascunho)" echo "6.4 O operador '<' continua tendo a mesma utilidade (STDIN), e o '>' funciona como STDOUT sem append" Exercicio 7 #!/bin/bash echo "7.1 /sbin/ifconfig eth0 | head -n 1" echo "7.2 Usa-se o 'pipe' para enviar a saida de um processo para a entrada de outro" echo "7.3 O pipe eh representado pelo simbolo '|'" Exercicio 8 #!/bin/bash echo "8 A primeira linha do script deve ser '#!/bin/bash'" echo "Isso serve para indicar ao kernel qual programa executara o script (neste caso, o 'bash')" Exercicio 9 #!/bin/bash echo "9.1 A variavel que armazena o valor do primeiro comando sera sempre a '\$0'" echo "No nosso caso, 'echo \$0' retornara '$0', que eh o nome desse script" echo "9.2 As variaveis '\$1', '\$2', '\$3', etc, armazenam os comandos digitandos depois do nome do script" echo "9.3 A variavel \$# armazena a quantidade de parametros passados, desconsiderando o script" echo "9.4 A variavel \$* armazena a string completa de parametros passados depois do nome do script" Exercicio 10 #!/bin/bash echo "10.1 O comando utilizado para extrair apenas alguns campos de uma linha eh o 'cut'" echo "10.2 Extrair USERNAME, UID E COMMENT da seguinte linha" echo "${linha}" username=$(echo "${linha}" | cut -d ':' -f 1) uid=$(echo "${linha}" | cut -d ':' -f 3) comment=$(echo "${linha}" | cut -d ':' -f 5) echo "USERNAME: ${username}, UID ${uid} e COMMENT ${comment}" echo "10.3 Apresentar conteudo do arquivo '/etc/passwd' por ordem alfabetica do campo username e comment" cat /etc/passwd | cut -d ':' -f 1 | sort cat /etc/passwd | cut -d ':' -f 5 | sort Exercicio 11 #!/bin/bash

echo "11.1 Usa-se o comando 'sed' para fazer substituicoes em textos/arquivos" echo "11.2 Lista de parametros construida, vamos para o exemplo completo" while read linha; do usuario=$(echo "${linha}" | cut -d ';' -f 1) diadasemana=$(echo "${linha}" | cut -d ';' -f 2) diadomes=$(echo "${linha}" | cut -d ';' -f 3) admin=$(echo "${linha}" | cut -d ';' -f 4) echo "-------------------------------------------------------" cat mensagem.txt | sed -e 's/USUARIO/'${usuario}'/g' -e 's/DIADASEMANA/'$ {diadasemana}'/g' -e 's/DIADOMES/'${diadomes}'/g' -e 's/ADMIN/'${admin}'/g' done < parametros.txt rm -rf mensagem.txt parametros.txt Exercicio 12 #!/bin/bash for each in $(echo $*); do echo "PARAMETRO: ${each}" done

Das könnte Ihnen auch gefallen