Professional Documents
Culture Documents
SMX-M2-UF3-NF3-AF5-PRE - Scripts
SMX-M2-UF3-NF3-AF5-PRE - Scripts
Scripts
bash el-meu-script.sh
Comentaris
Una línia que comence per # serà ignorada per Bash. S'utilitzen
per escriure comentaris dirigits a humans que estiguen analitzant
el codi.
Shebang
És un comentari a la primera línia del script que indica el path al
programa que ha d'interpretar-lo. Comença amb els símbols #! .
Shebang d'un script en Bash:
#! /bin/bash
echo hola
#! /usr/bin/python3
print('hola')
Scripts en Bash - Shebang
Echo
El programa echo mostra un text per la línia de comandes.
#! /bin/bash
echo hola
./el-meu-script.sh
hola
Scripts en Bash
Variables
Una variable és un espai en memòria on podem guardar valors
temporalment.
Per exemple, podem preguntar-li a l'usuari quin és el seu nom i
guardar-lo a una variable, per cridar-lo pel seu nom durant la
resta de missatges que mostre el script.
Amb les variables podem fer diferents operacions i comparacions,
segons el tipus de dada que continguen.
Scripts en Bash
#! /bin/bash
NOM=Joan
echo Hola $NOM
./el-meu-script.sh
Hola Joan
Scripts en Bash
Variables d'Entorn
Són aquelles variables que venen preinicialitzades a la shell actual.
Podem llistar-les amb la comanda env.
Per poder utilitzar variables de la shell actual a una shell filla, cal
exportar-la amb export
Scripts en Bash - Variables d'Entorn
#! /bin/bash
echo $NOM
./el-meu-script.sh
NOM=Joan
export NOM
./el-meu-script.sh
Scripts en Bash
Paràmetres
Els paràmetres que li passem al script quan l'executem podem
obtenir-los de les variables $0 a $9 . El $0 correspon al nom del
script.
#! /bin/bash
echo $0
echo $1
echo $2
Read
El programa read mostra un text per la línia de comandes i queda a
l'espera del input que vulga fer l'usuari. En prèmer intro, allò
introduït es ficarà a una variable.
#! /bin/bash
read -p 'Escriu el teu nom: ' NOM
# p = prompt
Cometes
Les cometes simples (') defineixen cadenes de text sobre les que no
s'ha de fer cap procés.
Les cometes dobles (") defineixen cadenes de text dins les quals
s'ha de processar variables o cometes obertes.
NOM=Joan
echo "Hola $NOM"
Scripts en Bash - Cometes
UID=`id -u`
echo "El teu UID és $UID"
Scripts en Bash
Codi de Sortida
Tots els programes, quan acaben la seua execució, emeten un codi
de sortida.
Aquest codi és un número major o igual a 0.
Si és 0, el programa ha finalitzat amb èxit.
Si és un número superior a 0, el programa ha acabat amb un
error. Aquest codi pot utilitzar-se per buscar al manual del
programa els detalls de l'error.
Scripts en Bash - Codi de Sortida
ls /fake-dir
echo $?
# mostra 2
Scripts en Bash
If
La sentència if permet executar un bloc de codi solament si es
compleix una condició.
if [ "$NOM" == 'Joan' ]
then
echo "Hola $NOM"
fi
Scripts en Bash
Podem afegir una clàusula else per executar un altre bloc de codi
si no es compleix la condició.
if [ "$NOM" == 'Joan' ]
then
echo "Hola $NOM"
else
echo 'Qui eres tu?'
fi
Scripts en Bash
While
La sentència while permet repetir l'execució d'un bloc de codi
mentre la condició siga certa.
Comparacions
Operadors generals:
! comparació
True si la comparació torna false, false si la comparació torna true.
Scripts en Bash - Comparacions
string1 == string2
True si string1 i string2 són iguals.
string1 != string2
True si string1 i string2 són diferents.
string1 < string2
True si string1 va abans de string2 al ordenar-los lexicogràficament.
string1 > string2
True si string1 va després de string2 al ordenar-los lexicogràficament.
Scripts en Bash - Comparacions
-f path
True si path és un arxiu
-d path
True si path és un directori
-h path
True si path és un enllaç simbòlic
-r path
True si path és legible
-w path
True si path és escribible
-x path
True si path és executable