Escolar Documentos
Profissional Documentos
Cultura Documentos
Page 1
1. Variáveis
Faça um bash shell script chamado vars para experimentar com variáveis
#!/bin/bash
# variaveis de ambiente
echo $PATH
echo $USER $HOME
# pode-se ver todas as variáveis do ambiente com o comando env | less
#variaveis locais
ola="bom dia"
echo "$ola Paulo"
echo "$olaPaulo" $Texto Pegado a variavel ..
echo "${ola}Paulo" #proteger a variável com as chavetas
mesg="$ola $USER"
echo $mesg
# input
# execução
http://www.ic.unicamp.br/~celio/mc514/docs/bash_pt.html 18/05/2011
Exercícios de Introdução a Programação em Bash Shell Página 2 de 5
data=`date`
echo $data
info=`echo $HOME ; echo " estamos em "; pwd`
echo $info
# contas
x=1
let x=x*2+3
echo "x=$x"
let x--
echo "x=$x"
#variaveis especiais
Page 2
2. mywho
(a) Faça um bash shell script chamado mywho que aceita um string como parâmetro. O script deverá indicar se
existe um utilizador actual do sistema cujo username contêm o string. Se for o caso o script deverá executar o
comando finger filtrando o output pelo valor do string.
#!/bin/bash
# mywho versão inicial
http://www.ic.unicamp.br/~celio/mc514/docs/bash_pt.html 18/05/2011
Exercícios de Introdução a Programação em Bash Shell Página 3 de 5
if [ $? -eq 0 ] ; then
echo "$nome Foi Encontrado "
else
echo "$nome Não Foi Encontrado "
fi
echo
solução : Em vez de ler o “nome” com o comando read utilizar-se-á a variável $1.
#!/bin/bash
# script teste
for x in $*
do
echo "Argumento $x"
done
Page 3
http://www.ic.unicamp.br/~celio/mc514/docs/bash_pt.html 18/05/2011
Exercícios de Introdução a Programação em Bash Shell Página 4 de 5
A primeira opção deverá mostrar o calendário do mês actual e a segunda a data actual
3 (b) Adicione mais três opções, “calendário do ano actual”, “o numero de segundos desde 1970” e a “o
calendário do ano 1752”
Dicas:
ver o sintaxe da instrução case no Advanced Bash Scripting Guide : the Linux Documentation Project
ver as ajudas dos comandos cal e date.
Faça um bash shell script, fichas, que faça uma listagem dos ficheiros no directório actual na seguinte forma
5 while
Faça um bash shell script, enquanto, que faça uma contagem a partir do valor do seu primeiro argumento até o
valor do segundo
#!/bin/bash
# script not-quite-enquanto
cnt=1
while [ $cnt –le 10 ]
do
echo "cnt $cnt"
let cnt++
done
http://www.ic.unicamp.br/~celio/mc514/docs/bash_pt.html 18/05/2011
Exercícios de Introdução a Programação em Bash Shell Página 5 de 5
cnt 4
cnt 3
cnt 2
Page 4
6. wcnovo
Faça um bash shell script, wcnovo, que mostre apenas o numero de palavras e linhas de cada ficheiro do directório
actual.
6 (b) Altere o script para que no fim apresentará o numero total de palavras e linhas de todos os ficheiros do
directório.
7 until/shift
Faça um bash shell script, imprimir, que imprime todos os parâmetros do script na seguinte forma
Argumento Numero 1 = 12
Argumento Numero 2 = in
Argumento Numero 3 = ola
Utilizar a estrutura, until [ -z $1 ] do ... shift .. done para fazer um ciclo pelas variáveis.
Nota: Os scripts devem ser acessíveis a partir de qualquer directório do seu login shell. Por isso coloca os seus
scripts no directório ~/bin e altere o seu path se for necessário.
Check List
Path. Está incluido o directório actual o simbolo “.” No seu PATH ? E o directório $HOME/bin ?
Ficheiro .bash_profile. Existe ? export path ? Está a ler o ficheiro .bashrc e .alias ?
Ficheiro .alias. Existe ? Tem os seus aliases ?
http://www.ic.unicamp.br/~celio/mc514/docs/bash_pt.html 18/05/2011