Gå til innhold

Bash - kan jeg bruke OR(||) på output av to kommandoer?


Anbefalte innlegg

I forbindelse med et lite script jeg fikler med, så skal jeg undersøke om en videofil har aac eller mp3 encoding på lyden. Det hadde jeg tenkt å gjøre slik:

if [ ffmpeg -i $f 2>&1 | grep Audio: | grep aac ] || [ ffmpeg -i $f 2>&1 | grep Audio: | grep mp3 ]
    then
    echo "HELLO!"
else
    echo "NOT HELLO!"
fi

Problemet er at dette konsekvent resulterer i "NOT HELLO!", istedenfor "HELLO!". Jeg vet at dette er feil, da jeg får "HELLO!" for flere filer hvis jeg kun kjører første bit av if-sjekken, altså slik:

if ffmpeg -i $f 2>&1 | grep Audio: | grep aac
    then
    echo "HELLO!"
else
    echo "NOT HELLO!"
fi

Kan jeg sjekke dette slik jeg ønsker? Eller må jeg mellomlagre verdiene fra de to kjøringene i variabler, og så sjekke via -eq?

 

På forhånd, takk for hjelpen.

Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...