Hirdetés

Új hozzászólás Aktív témák

  • bambano
    titán

    szeretnek irni egy script-et, aminek egyes lepesei kritikusak, igy ha azok nem futnak le sikeresen, ki kellene lepni
    erre en az alabbi megoldast probalom:
    parancs || ( echo "hiba" && exit 1 )

    a gondom az, hogy kiirja ugyan a hibauzenetet, viszont nem all le a script futsa, megy tovabb a kovetezo lepesre (es tobbnyire problemas kiscomagolni egy olyan file-t, melynek letoltese nem sikerult)

    kerdesem az lenne, hogy mit nezek be, miert nem mukodik a kileptetesem, illetve hogy hogyan, s miert ugy kellene ehelyett csinalnom?

    szerintem a zárójeles kifejezéseket subshellben hajtja végre, az lép csak ki.

    én a parancs || echo "xsfgkjf" && exit 1 formát próbálnám, az echo mindig igaz értékkel tér vissza.

    a manból:

    "Of these list operators, && and ⎪⎪ have equal precedence, followed by ; and &, which have equal precedence."

    vagy lehet még azt is, hogy:
    parancs || echo bajvan
    [ -f letoltottfile ] || exit 1

Új hozzászólás Aktív témák