Toon posts:

[BASH] if constructie werkt niet lekker

Pagina: 1
Acties:

Verwijderd

Topicstarter
code:
1
2
3
4
5
6
7
8
9
#!/bin/bash 
#
transit=/heineken/transit
totalfiles=$(ls -A $transit | wc -l)
if [ "$totalfiles != 0" ]; then
echo $totalfiles files found!
else
echo no files found!
fi


Output in de console als er geen files in de directory staan:
code:
1
2
[shadow@heinekenserver opt]# ./transit_leeg.sh
0 files found!

Ik wil eigenlijk wel dat er komt te staan:
code:
1
2
[shadow@heinekenserver opt]# ./transit_leeg.sh
no files found!


helllluuup! ;)

[ Voor 4% gewijzigd door Verwijderd op 23-09-2004 16:01 ]


  • Tomaat
  • Registratie: November 2001
  • Laatst online: 16-02 16:16
code:
1
if [ $totalfiles != "0" ]; then

ik denk dat dit sowieso al helpt ;)

Verwijderd

man bash:
string1 != string2
True if the strings are not equal.

arg1 OP arg2
OP is one of -eq, -ne, -lt, -le, -gt, or -ge. These arithmetic
binary operators return true if arg1 is equal to, not equal to,
less than, less than or equal to, greater than, or greater than
or equal to arg2, respectively. Arg1 and arg2 may be positive
or negative integers.
Maw. gebruik -ne ipv. != en haal de doublequotes weg.

  • DeMoN
  • Registratie: Maart 2001
  • Laatst online: 06-01 23:13

DeMoN

Pastafari

Verwijderd schreef op 23 september 2004 @ 16:15:
man bash:

[...]


Maw. gebruik -ne ipv. != en haal de doublequotes weg.
Maar in dit geval denk ik wel dat hij != kan gebruiken als hij tenminste die 0 tussen "" zet. Bij mij werkt zijn voorbeeldje nu iig :)

Gamertag: Cosmicv0id
"Het woord Gods is voor mij niets meer dan een expressie en het product van menselijke zwakheid. De Bijbel is een verzamelwerk van legendes die achtenswaardig zijn maar ook primitief en kinderachtig.'' - Albert Einstein


  • Wilke
  • Registratie: December 2000
  • Laatst online: 10:00
Doe sowieso "$totalfiles" != "0" (voor een stringvergelijking, numeriek kan ook maar dat zal hier niet zoveel uitmaken). Als $totalfiles namelijk geen inhoud heeft krijg je zonder die dubbele quotes er omheen een foutmelding. Er staat dan namelijk 'if [ != "0" ]', en dat is geen geldige expressie. 'if [ "" != "0" ]' is dat wel.

Verwijderd

Topicstarter
knipper 2 x met mijn ogen en vier antwoorden! heren ik ben eruit. Mille merci!
Pagina: 1