Folosirea scripturilor externe
Last Updated: Mar 14 2015 17:55, Started by
worm94
, Mar 13 2015 20:55
·
0
#1
Posted 13 March 2015 - 20:55
Încerc să lucrez cu un script extern și am ceva simplu de genul..
functii #!/bin/bash suma() { if [[ "$#" -ge 3 ]] then echo "Ai introdus prea multi parametri." exit 1 elif [[ $# -eq 0 || $# -eq 1 ]] then echo "Prea putin parametri" exit 1 fi echo "$[$1+$2]" } main (scriptul pe care îl execut eu) source functii.sh suma $1 $2 După cum vă dați seama încerc să adun două numere care sunt date ca parametri. Problema e la început când verific dacă sunt mai mulți de 3 parametri, atunci îmi face tot suma în loc să-mi afișeze mesajul. |
#2
Posted 14 March 2015 - 15:28
Dude, da asta e problema de logica pe care ii pune in dificultate pe toti... Tu testezi daca _functia_ ta are un numar de argumente diferit de 2 si afisezi niste mesaje in functie de caz. Problema e ca tu apelezi functia cu 2 parametrii deci toata polologhia de mai jos nu face nimic:
worm94, on 13 martie 2015 - 20:55, said: if [[ "$#" -ge 3 ]] then echo "Ai introdus prea multi parametri." exit 1 elif [[ $# -eq 0 || $# -eq 1 ]] then echo "Prea putin parametri" exit 1 fi Verificarile efectuate fiind: + [[ 2 -ge 3 ]] + [[ 2 -eq 0 ]] + [[ 2 -eq 1 ]] Singura modificare pe care trebuie sa o faci este: suma $@si face ce trebuie ghost@Shouryuu tmp $ bash b.sh 1 Prea putin parametri ghost@Shouryuu tmp $ bash b.sh 1 2 3 ghost@Shouryuu tmp $ bash b.sh 1 2 3 Ai introdus prea multi parametri. ghost@Shouryuu tmp $ bash b.sh 123 Prea putin parametri ghost@Shouryuu tmp $ bash b.sh 123 32 155 ghost@Shouryuu tmp $ bash b.sh 123 32 435 3412 Ai introdus prea multi parametri. ghost@Shouryuu tmp $ Edited by MembruAnonim, 14 March 2015 - 15:35. |
#4
Posted 14 March 2015 - 17:09
Mersi mult, de asta nu mi-am dat sema și am înebunit if-urile alea.
Mulțumesc mult încă o dată. |
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users