Páginas

2008/03/05

Argmentuak pasatzen script bati

Komando-lerrotik script-ei pasatu ahal zaie, hurrengo adibidean azaltzen den moduan. Demagun bi zenbaki batu nahi ditugula; bi aukera ditugu:

  • definitu bi aldagai, zenbakiak jasotzeko , eta eragiketa egin:
#/bin/bash
# script-aren izena : batuketa.sh
zenbaki1=5
zenbaki2=3
batura=$zenbaki1+$zenbaki2
echo " Zenbakien batura $batura da"
#-------- amaiera------
Pentsa ezazu beste bi zenbaki batu nahi izanez gero , editatu beharko genuke eta balioak aldatu
  • eragiketa prestatu eta teminaletik zenbakiak eman.
#/bin/bash # script-aren izena : batuketa2.sh
batura=$1+$2
echo " Zenbakien batura $batura da"

Bigarren kasu honetan, balioak ez dira inon agertzen, beraz zein batura kalkulatzen da?. Hori jakiteko hobe da egikaritzea , horretarako hurrengo hau idatzi beharko genuke batuketa2.sh 7 8 , horrekin adierazten dugu $1 berdin 7 , eta $2 berdin 8 izango zirela; eta batuketa2.sh 20 67 idaztean $1 berdin 20 , eta $2 berdin 67 dira, hau da komando-lerrotik bi argumento pasatzen zaizkio batuketa.sh script-ari.
Bash-ek posiziozko arumentoak erabiltzen ditu, hau da, komando-lerroan agertzen den ordenean esleitzen zaizkie $1 , $2, ...$9 aldagaiei . Horretaz gain, $0 aldagaiak script-aren izena gordetzen du, eta $* edo $@ aldagaiek argumentoen zerrenda gordetzen dute.
Adibidea:
#/bin/bash
# script-aren izena proba.sh da
# scrip honetan $0, $1,.. erabiltzen dira
batura=$2+$3
echo "Kaixo $1, zure script-aren izena $0 da, pasatu didazu argumento hauek $@ "
echo " pasatutako zenbakien batura $batura da "
# ---------------- amaiera -------------------------
Exekutatzeko , proba.sh Koldo 12 97 , edo nahi den argumentuekin; beti $1 lehenengo parametroa izango da, $2 bigarrena eta $3 hirugarrena

No hay comentarios: