Ich schreibe ein Shell-Skript, und ich versuche zu überprüfen, ob die Ausgabe eines Befehls eine bestimmte Zeichenfolge enthält. Ich denke, dass ich wahrscheinlich Grep benutzen muss, aber ich weiß nicht wie. Weiß jemand?Überprüfen, ob die Ausgabe eines Befehls eine bestimmte Zeichenfolge in einem Shell-Skript enthält
Überprüfen, ob die Ausgabe eines Befehls eine bestimmte Zeichenfolge in einem Shell-Skript enthält
Antwort
Testen der Rückgabewert von grep:
./somecommand | grep 'string' &> /dev/null
if [ $? == 0 ]; then
echo "matched"
fi
Danke! Das hat funktioniert. – user1118764
Nur beachten Sie, dass zwischen der schließenden eckigen Klammer und der 0 ein Leerzeichen stehen muss. Ich kann das nicht bearbeiten. –
Dieser Code funktioniert nicht bei allen POSIX-Shells: Der POSIX-Standard erfordert nur '=' als Vergleichsoperator, nicht '=='; siehe http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html –
Testing $? ist ein Anti-Muster
if ./somecommand | grep -q 'string'; then
echo "matched"
fi
Danke dafür. – maxtuzz
nette Arbeit hier! – marcusshep
Perfekt danke, das hat einen Reiz für das, was ich machen wollte, funktioniert. – MitchellK
- 1. Überprüfen, ob Zeichenfolge bestimmte Zeichen enthält
- 2. Überprüfen, ob die Zeichenfolge eine Berechnung enthält
- 3. So überprüfen Sie, ob eine Zeichenfolge nur bestimmte Zeichen enthält
- 4. Überprüfen, ob die Zeichenfolge die Umgebungsvariable enthält
- 5. Überprüfen Sie, ob eine Zeichenfolge eine bestimmte Zeichenfolge mit Array
- 6. überprüfen, ob Zeichenfolge nur bestimmte Buchstaben in Python enthält
- 7. Überprüfen, ob die Zeichenfolge führende Buchstaben enthält
- 8. Überprüfen, ob eine Zeichenfolge Asterisk (*) enthält
- 9. Überprüfen Sie, ob eine Zeichenfolge enthält Zeichen
- 10. Applescript: überprüfen, ob eine Zeichenfolge eine leere Zeichenfolge enthält?
- 11. Überprüfen, ob Zeile Zeichenfolge enthält
- 12. überprüfen, ob Zeichenfolge enthält bestimmte Zeichen mit der Nummer PHP
- 13. Überprüfen, ob die Zeichenfolge Kommas enthält
- 14. Überprüfen Sie, ob die Datei vorhanden ist und ob sie eine bestimmte Zeichenfolge enthält
- 15. Überprüfen, ob eine Zeichenfolge Teilzeichenfolgen aus einem Array enthält
- 16. Überprüfen, ob eine Zeichenfolge eine andere Zeichenfolge enthält
- 17. Überprüfen Sie die Ausgabe eines Befehls in Shell-Skript
- 18. Filter die Daten enthält eine bestimmte Zeichenfolge
- 19. Überprüfen, ob eine Zeichenfolge nur eine Reihe von Buchstaben enthält
- 20. Wie überprüft man, ob ein TextView eine bestimmte Zeichenfolge enthält
- 21. Überprüfen Sie, ob PHP-Array eine nicht-spezifische Zeichenfolge enthält
- 22. Wie überprüft man, ob eine Zeichenfolge eine bestimmte Teilzeichenfolge enthält?
- 23. Überprüfen Sie, ob die Zeichenfolge keine andere Zeichenfolge enthält.
- 24. Überprüfen Sie, ob Javascript bestimmte Methode enthält
- 25. Überprüfen Sie, ob eine Zeichenfolge in C++
- 26. Überprüfen, ob die Zeichenfolge ein Wort im Array enthält
- 27. Überprüfen Sie, ob Zeichenfolge enthält Teilzeichenfolge in einem Array Powershell
- 28. Überprüfen der Ausgabe eines Shell-Befehls in ansible
- 29. überprüfen, ob Zeichenfolge enthält Zahl größer als
- 30. überprüfen, ob Datum Uhrzeit Zeichenfolge enthält Zeit
Muss der Befehl ausgeführt werden, nachdem die gesuchte Ausgabezeichenfolge generiert wurde, oder kann er zu diesem Zeitpunkt sofort geschlossen werden? (Ihre zwei Antworten unterscheiden sich in dieser Hinsicht in ihrer Semantik). –