Linux nenehno izvršiti več ukazov
Je prej bil z uporabo "lupino + pričakujejo" kombinacijo。
Kasneje v teku,Pričakujte več in več, da je ta stvar preveč daleč zadaj,Iz naslednjih razlogov:
1. To je ustavil izdajo novo uradno verzijo;
2. debug neučinkovita,V mnogih primerih je koda, da gredo s tem, kako ljudje mislijo mami。
Potem,To se je kasneje odločila za uporabo skriptni jezik Python vse opravljeno。
V praksi se je izkazalo, da,Učinkovitost razvoj python je zelo visoka,Dejansko "grobo hitro grozni"。
Stop,Razveljavi。。。
V mojem Automation primeru,Morate preveriti, ali je ukaz uspešno izveden (ob predpostavki, da ukaz checklog,Uspešna vrnitev 0,Neuspeh, da se vrnete 1)。
V normalnih okoliščinah,V naslednjem stavku checklog,Neposredno "echo $?",Sodba 0,1Za。
Toda,Ker okolje izvršbe v ukazno vrstico, 0 in 1,Torej pexpect ne soditi "echo $?"Rezultati。
kasneje,Se sprašujete, sprašujete,Moj um samo pojavljati zgoraj točk znanja,sem se potrudil,Fix problem je tem Mark。
# Checklog pričakujejo, da bo uspešno izvajanje
checklog && echo uspeh
pexpect.expect("Uspeh")
# izvedba Checklog ni pričakovanj
checklog || echo napaka
pexpect.expect("Neuspeh")
Osvežite znanje:
1. Ukaz je podpičjem ";"Ločen,Ti ukazi se izvajajo zaporedno navzdol;
2. Ukaz "&&"Ločen,Ti ukazi se izvajajo zaporedno navzdol,Stop izvršitev ukaza je prišlo do napake;
3. Ukazi so dvojne cevi "||"Ločen,Ti ukazi se izvajajo zaporedno navzdol,Stop ukaz uspešen srečanje,Vsi ukazi se ne bo izvedena kasneje;
permalink Komentarji izklopljeni