Professional Documents
Culture Documents
cat
Fonaments
d’Enginyeria
Què és un script?
A dins hi trobarem:
• Llançament de comandes
• Variables
• Sentencies condicionals
• Estructures de control de flux (bucles entre d’ altres)
• I funcions
Creació d’un script bàsic
$ cd miscript.sh
$ gedit miscript.sh
$ ls #!/bin/bash
....
$ bash miscript.sh
echo “Hello World !!!”
....
$ ./miscript.sh Què ha passat??
....
$ ls –l miscript.sh
$ b=$b:fe
Concatenar cadenes de caràcters en variables no
$ echo $b numèriques (recordar variable d’entorn PATH)
….
Programació Shell script (bash)
$ z=3
$ z=`bc <<< $z+4`
$ echo $z
….
$ z=3
$ z=`bc <<< ”scale=2; $z/1.1234”`
$ echo $z
2.67
Programació Shell script (bash)
Control de flux: if
if [ condicio ] ;
then
if [ condicio ] ; comandes1
then else
comandes comandes2
fi fi
Operands de la condició:
#!/bin/bash
-eq : = echo Introdueix un valor:
-ne : != read var
-lt : < if [ $var –eq 1 ];
-gt : > then
-le : <= echo El valor es 1
-ge : >= fi
Programació Shell script (bash)
#!/bin/bash
case <var> in echo Introdueix un valor:
[(] <patro1> ) read var
comandes1;; case $var in
[(] <patro2> ) 1)
comandes2;; echo El valor es 1;;
… 2)
[(] <patron> ) echo El valor es 2;;
comandesn;; 3)
esac echo El valor es 3;;
*)
echo No se quin valor es
esac
Programació Shell script (bash)
#!/bin/bash
while [ condicio ]
do i=1
comandes while [ $i –le 10 ]
done do
echo El valor de i es: $i
let i=i+1
done
Programació Shell script (bash)
#!/bin/bash
until [ condicio ]
do i=1
comandes until [ $i –eq 10 ]
done do
echo El valor de i es: $i
let i=i+1
done
Programació Shell script (bash)
#!/bin/bash
for i in 1 2 3
do
echo $i
done
Programació Shell script (bash)
Exercici:
Editar un fitxer de text anomenat esportistes on cada
línia del fitxer té la següent estructura:
nom:cognom1:cognom2:edat:esport:club
Exercici:
Amb el mateix fitxer esportistes de l'exercici
anterior on cada línia del fitxer té la següent
estructura:
nom:cognom1:cognom2:edat:esport:club
Missatge A:
<Nom> <Cognom> té <edat> anys i, per tant, és major d’edat
Missatge B:
<Nom> <Cognom> té <edat> anys i, per tant, és menor d’edat
www.uab.cat
Moltes gràcies,