Gå til innhold

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


Anbefalte innlegg

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
Lenke til kommentar
Videoannonse
Annonse
  • 2 uker senere...

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.

Lenke til kommentar

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...