Van egy bash szkriptem, mely meghív egy szubrutint, de az ha problémával találkozik akkor kilép. Persze, mert ott van hogy "exit".
Viszont úgy kéne kilépnem hogy az "exit" helyén CSAK a szubrutinból lépjen ki, ne a szkriptből. A szkriptnek tovább kéne futnia.
Mindenesetre most kipróbálom a "return" parancsot
Hozzászólások
Hogyhogy 'ott van hogy "exit"'?
A subrutin hívásakor, vagy benne minden sornál, vagy hogy?
Egyébként ha simán kiveszed azt az exitet, az is segíthet.
Valamint vagy a subritban a jellemzően elszálló soroknál, vagy a rutin hívásakor teheted még ezt:
parancs || :
Itt ugyanis egy 'vagy' szerkezetbe helyezted a parancsodat, ami ha hibára fut, akkor a ':' hajtódik végre, ami pedig mindig igaz.
---
"A megoldásra kell koncentrálni nem a problémára."
Ha simán kiveszem az exit-et akkor az egyéb parancsok hazavágják azt, amit nem kéne, hiszen nem teljesültek a feltételek.
Lejjebb a példa.
'Szubrutin' alatt function-t értesz?
Ha function alatt azt érted hogy parancsok sora tehát akár több is lefut csak esetleg különböző értékekkel, akkor igen.
A szubrutin kifejezés még a basic-os időkből maradt meg bennem. Még ha "function" is, ugyanaz a dolga.
vizsgálat () {
parancsok
ha teljesül, akkor csináld ezt,
ha nem akkor exit
egyéb parancsok
}
De rájöttem hogy az exit oda nem jó. Mert csak hívódjon be újra ez a szubrutin csak más értékekkel.
A "return" parancs volt a jó.
Az
egyéb parancsok
miért nem kerülnek be aha teljesül, akkor csináld ezt
-ágba?exit helyett return kell oda:)
Igen. Már rájöttem ahogy kipróbáltam. Köszi.
szerintem meg try-catch ;)
[törölve] Nem olvastam elég figyelmesen felfelé. bocs.
---
"A megoldásra kell koncentrálni nem a problémára."