Gå til innhold

[LØST] Hva tolkes i denne IF-setningen?


Anbefalte innlegg

Skrevet (endret)

if [ `egrep -c "$PROC" ${TEMPDIR}/proclist` ]; then
echo "1"
else
echo "eller 2"

Hva er det som tolkes her av IF-setningen? Er det exit koden til egrep eller er det outputten? Om det er outputten til egrep så lurer jeg på hva som ses på som true og false. Er alt over 0 da true? Hva for en condiotion er if [ 6 ] liksom...

Endret av tacomodo
Videoannonse
Annonse
  • 2 uker senere...
Skrevet

hehe jeg vet egentlig ikke helt, men det endte med at jeg byttet ut hele greia.

 

Jeg har forsåvidt kommet over flere lignende conditions. Kan det være exit koden det går på? At om egrep exiter med 0 så er det true f.eks?

Skrevet

Tipper du egentlig ville ha noe slik:

 

if  egrep -c "$PROC" ${TEMPDIR}/proclist ; then
   echo "1"
else
  echo "eller 2"

 

Hvis du skriver

 

true ; echo $?
false ; echo $?

if true ; then 
  echo "the program true returned 0"
else
  echo "the program true returned something different from 0, namely $?"
fi


if  false  ; then 
  echo "the program false returned 0"
else
  echo "the program false returned something different from 0, namely $?"
fi

 

skulle det gi:

 

0
1
the program true returned 0
the program false returned something different from 0, namely 1

 

 

Dersom du skriver

 

[ blabla ]

 

er det samme som

 

test blabla

 

I eldre UNIX versjoner var [ bare en link til programmet som het test.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...