7.3. Zakończenie wyszukiwania wynikiem typu „prawda - fałsz”

Problem

Chcemy wiedzieć, czy dany ciąg tekstowy występuje w określonym pliku. Spodziewamy się jednak odpowiedzi typu „tak — nie”, bez wyświetlania jakichkolwiek informacji z listingu wynikowego.

Rozwiązanie

Należy dodać do polecenia grep opcję –q. Dla zagwarantowania maksymalnej przenośności rozwiązania można również odrzucić dane wyjściowe przez skierowanie ich do urządzenia /dev/null. W obydwu przypadkach wynik wykonanej operacji jest zapisany w zmiennej powłoki $? odpowiadającej za przechowywanie wartości wynikowej programu. Wspomniana zmienna może być wykorzystana w instrukcji warunkowej if w następujący sposób:

$ grep –q znajdźmnie plik.danych
$ if [ $? –eq 0 ] ; then echo jest ; else ...

Get Bash. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.