Hogyan tudom a bash-ban "érzékelni" és kezelni, hogy egy C-ben írt programot a fordítónak sikerült-e lefordítania?
Egyik lehetőség, hogy egy egyszerű if-be teszed. Pl.:
if parancs then
Elküldte hamarabb, tehát:
if parancs then
siker
else
hiba
fi
Egyébként a $? változóban találod a legutóbbi parancs hibakódját, ezt is lehet nézni.
#4: Ha sikeresen lefordul, akkor az exit status változó ($?) értéke 0 lesz.
Az if feltételnél -eq operátorral tudod összehasonlítani, hogy a változó értéke egyenlő-e 0-val (mint számmal).
De most úgy van megírva, mint a 2. hozzászólásban, és működik.
if gcc filename.c -o filename.exe
then ...
Ez így mit tesztel, hogy lefordulás esetén true lesz, hiba esetén pedig nem?
#7: így van, sikeres fordítás esetén az exit status 0 vagyis true lesz, ellenkező esetben meg más "nem nulla" szám, azaz false.
idézet a bash kézikönyvéből:
"EXIT STATUS
Shell builtin commands return a status of 0 (true) if successful, and non-zero (false) if an error occurs while they execute. All builtins return an exit status of 2 to indicate incorrect usage."
Forrás: "man bash" parancs illetve [link]
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!