Boolesche Ausdrücke in if-Anweisungen verwenden?

Boolesche Ausdrücke in if-Anweisungen verwenden?

Ich möchte eine if-then-Anweisung ausführen: Wenn die Variable i gleich dem regulären Ausdruck für 0 bis 9 ist UND wenn grep keine Ergebnisse zurückgibt, dann tue etwas. Ist das die richtige Syntax?

if [[ $i =~ [0-9] ]] && if ! grep $i /opt/tftpboot/*; then

oder ist es

if [[ $i =~ [0-9] ]] && ! [[ grep $i /opt/tftpboot/* ]]; then

Antwort1

Es ist:

if [[ $i =~ [0-9] ]] && ! grep $i /opt/tftpboot/*; then

Sie benötigen die Ausgabe von wahrscheinlich nicht grep. In diesem Fall können Sie Folgendes tun:

if [[ $i =~ [0-9] ]] && ! grep -q $i /opt/tftpboot/*; then

verwandte Informationen