Linux kontinuierlich mehrere Befehle ausführen

zuvor war eine hat mit „shell + erwarten“ Kombination。

Später im Laufe,Erwarten Sie mehr und mehr, dass dieses Zeug ist zu weit hinten,Folgende Gründe:

1. Es hat aufgehört neue offizielle Version Ausgabe;

2. Debug ineffizient,In vielen Fällen gehen der Code mit dem Art, wie Menschen denken, Mom。

dann,Es wurde beschlossen, später eine Skriptsprache Python zu verwenden, alles getan。

Die Praxis hat bewiesen, dass,Python Entwicklungseffizienz ist sehr hoch,Tatsächlich „rough schnell heftig“。

Stopp,abschweifen。。。

In meinem Fall Automation in,Sie müssen prüfen, ob ein Befehl erfolgreich ausgeführt wird (Befehl Checklog unter der Annahme,,Erfolgreiche Rückkehr 0,Failure zurückzukehren 1)。

Unter normalen Umständen,Im nächsten Satz Checklog,Direct „Echo $?“,Urteil 0,1zu。

aber,Da die Ausführungsumgebung der Eingabeaufforderung, 0 und 1,So urteilen pexpect nicht „echo $?„Die Ergebnisse。

später,Sie fragen sich fragen,,Mein Geist entstehen nur über Wissen Punkte,Ich versuchte es,Das Problem beheben ist es hiermit Mark。

# Checklog die erfolgreiche Umsetzung erwarten
Checklog && Echo-Erfolg
pexpect.expect('Erfolg')

# Checklog execution failed Erwartungen
Checklog || Echo-Ausfall
pexpect.expect('Fehler')

Frischen Sie das Wissen:
1. Befehl ist das Semikolon ";„Getrennt,Diese Befehle werden der Reihe nach unten ausgeführt;
2. Befehl ist "&&„Getrennt,Diese Befehle werden der Reihe nach unten ausgeführt,Stop-Befehlsausführung ein Fehler aufgetreten;
3. Befehle sind Doppelrohr "||„Getrennt,Diese Befehle werden der Reihe nach unten ausgeführt,Stop-Befehl erfolgreich Begegnung,Alle Befehle werden nicht später ausgeführt werden;

Kommentarfunktion ist geschlossen.