Hallo! Ich verzweifle hier fast an einem verdammt einfachen Script!! ich will solage in der schleife bleiben bis in /tmp/print.log "none" drin steht, das kann doch nicht so schwer sein! #!/bin/bash until `cat /tmp/print.log`="none" do sleep 5 done exit 0 ==> ./loop: none=none: command not found Gruß Mario
Am Die, 2002-04-16 um 11.22 schrieb mario ohnewald:
Hallo! Ich verzweifle hier fast an einem verdammt einfachen Script!! ich will solage in der schleife bleiben bis in /tmp/print.log "none" drin steht, das kann doch nicht so schwer sein!
#!/bin/bash until `cat /tmp/print.log`="none"
until test "$(cat /tmp/print.log)" = "none"
do sleep 5 done exit 0
==> ./loop: none=none: command not found
Gruß Mario
-- mfg alex ------------------------------------------------------------------------ I am chaos. I am the substance from which your artists and scientists build rhythms. I am the spirit with which your children and clowns laugh in happy anarchy. I am chaos. I am alive, and tell you that you are free
Moin, * mario ohnewald <mario.ohnewald@gmx.de> [02-04-16 11:22]:
Ich verzweifle hier fast an einem verdammt einfachen Script!! ich will solage in der schleife bleiben bis in /tmp/print.log "none" drin steht, das kann doch nicht so schwer sein!
#!/bin/bash until `cat /tmp/print.log`="none" do sleep 5 done exit 0 Vollkommen ungetestet: #!/bin/bash until [ `cat /tmp/print.log`=="none" ] do sleep 5 done exit 0
Thorsten -- You're not supposed to be so blind with patriotism that you can't face reality. Wrong is wrong, no matter who does it or who says it. - Malcolm X
Hi, leider funkt keines der Sciptes so wie ich es mir vorstelle. Zumindest bekomme ich keine Fehlermeldung mehr, aber das Script geht nie in den Loop, selbst wen ich in meiner Datei "sdfasf" stehen habe. ;o( Oder funkt es bei jemandem? Gruß Mario
Moin,
* mario ohnewald <mario.ohnewald@gmx.de> [02-04-16 11:22]:
Ich verzweifle hier fast an einem verdammt einfachen Script!! ich will solage in der schleife bleiben bis in /tmp/print.log "none" drin steht, das kann doch nicht so schwer sein!
#!/bin/bash until `cat /tmp/print.log`="none" do sleep 5 done exit 0 Vollkommen ungetestet: #!/bin/bash until [ `cat /tmp/print.log`=="none" ] do sleep 5 done exit 0
Thorsten -- You're not supposed to be so blind with patriotism that you can't face reality. Wrong is wrong, no matter who does it or who says it. - Malcolm X
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
ne kombination aus allen hat dann geklappt: ;D #!/bin/bash until [ `cat /tmp/print.log` == "none" ] do sleep 5 done exit 0 bis denne! Mario
Moin, * mario ohnewald <mario.ohnewald@gmx.de> [02-04-16 11:52]:
ne kombination aus allen hat dann geklappt: ;D
#!/bin/bash until [ `cat /tmp/print.log` == "none" ] do sleep 5 done exit 0 Wie jetzt, ohne Leerzeichen klappt es nicht?
Thorsten -- Question Authority!
* Thorsten Haude schrieb am 16.Apr.2002:
Moin,
* mario ohnewald <mario.ohnewald@gmx.de> [02-04-16 11:52]:
ne kombination aus allen hat dann geklappt: ;D
#!/bin/bash until [ `cat /tmp/print.log` == "none" ] do sleep 5 done exit 0 Wie jetzt, ohne Leerzeichen klappt es nicht?
Nein. Siehe man test. Bernd -- ROTFL = Rolling On The Floor, Laughing = Auf dem Boden wälzen, lachend. SCNR = Sorry, Could Not Resist = Sorry, Ich konte nicht wiederstehen. AFAIK = As Far As I Know = So weit ich weis|BTW = By The Way = Nebenbei bemerkt IMHO = In My Humble Opinion = meiner bescheidenen Meinung nach |Zufallssig. 9
Moin, * Bernd Brodesser <B.Brodesser@t-online.de> [02-04-16 14:17]:
* Thorsten Haude schrieb am 16.Apr.2002:
* mario ohnewald <mario.ohnewald@gmx.de> [02-04-16 11:52]:
ne kombination aus allen hat dann geklappt: ;D #!/bin/bash until [ `cat /tmp/print.log` == "none" ] do sleep 5 done exit 0 Wie jetzt, ohne Leerzeichen klappt es nicht? Nein. Siehe man test. Na, das ist gut zu wissen, das würde mich bestimmt Stunden kosten, wenn es ernst wird.
Thorsten -- The privacy of correspondence, posts and telecommunications shall be inviolable. - Grundgesetz, Article 10, Sec. 1
Hallo, On Tue, 16 Apr 2002, mario ohnewald wrote:
ne kombination aus allen hat dann geklappt: ;D
Kann ich mir nicht vorstellen (oder welche bash hast du denn?)
#!/bin/bash until [ `cat /tmp/print.log` == "none" ] do sleep 5 done exit 0
Ergibt bei mir: [: ==: unary operator expected Richtig funktioniert folgendes: until [ "`cat /tmp/print.log`" = "none" ]; do sleep 5; done Das ist aber nicht sicher (wenn print.log nicht existiert gibt's nen Fehler, ausserdem sollte man zumindest auf ein SIGINT (u.a. Strg+C oder 'kill -2 <PID>') reagieren. Zusammen mit meiner Abneigung gegen '[' statt 'test' ergibt das dann: ==== #!/bin/bash trap "exit 2" 2 until test "x`cat /tmp/print.log`" = "xnone" ]; do sleep 5; done ==== Alternativ ginge auch: ==== #!/bin/bash trap "exit 2" 2 while test "x`cat /tmp/print.log`" != "xnone" ]; do sleep 5; done ==== -dnh -- Doesn't it bother you, that we have to search for intelligent life --- OUT THERE??
* David Haller schrieb am 16.Apr.2002:
Zusammen mit meiner Abneigung gegen '[' statt 'test' ergibt das dann:
==== #!/bin/bash trap "exit 2" 2 until test "x`cat /tmp/print.log`" = "xnone" ]; do sleep 5; done ====
Wenn trap, was sicherlich richtig ist, denn doch nicht nur 2, sondern auch 1,3 und 15. Bernd -- LILO funktioniert nicht? Hast Du /etc/lilo.conf verändert und vergessen, lilo aufzurufen? Ist Deine /boot-Partition unter der 1024 Zylindergrenze? Bei anderen LILO Problemen mal in der SDB nachschauen: http://localhost/doc/sdb/de/html/rb_bootdisk.html |Zufallssignatur 6
Am 16.04.2002 um 11:38 schrieb mario ohnewald:
Hi, leider funkt keines der Sciptes so wie ich es mir vorstelle. Zumindest bekomme ich keine Fehlermeldung mehr, aber das Script geht nie in den Loop, selbst wen ich in meiner Datei "sdfasf" stehen habe. ;o( Oder funkt es bei jemandem?
Alternativ in Perl: $file = '/tmp/print.log'; open FILE, $file; while(($inp = <FILE>) =~ m/none/) { close FILE; sleep 5; open FILE, $file; } Ungetestet. Aber so müsste es gehen. -- Dennis Stosberg eMail: dennis@stosberg.net pgp key: http://stosberg.net/dennis.asc icq: 63537718
* mario ohnewald schrieb am 16.Apr.2002:
leider funkt keines der Sciptes so wie ich es mir vorstelle. Zumindest bekomme ich keine Fehlermeldung mehr, aber das Script geht nie in den Loop, selbst wen ich in meiner Datei "sdfasf" stehen habe. ;o( Oder funkt es bei jemandem?
until test `cat /tmp/print.log` = "none" do sleep 5 done Soweit in /tmp/print.log nur none steht und sonst nichts, bircht er ab, da die Bedingung erfüllt ist. Wenn etwas anderes drin steht, dann ist er in einer Endlosschleife. Wenn mehr als ein Wort in der Datei steht, dann gibt es eine Fehlermeldung. Also keine besonders gute Idee, ein solches Konstrukt. Besser ist da schon until grep -q none /tmp/print.log do sleep 5 done Dann reicht nur das Vorhandensein des Wortes none in der Datei, denn dann findet grep das und hat als Rückgabewert eine 0, darauf reagiert das until. Das -q ist dafür, daß grep keinerlei Ausgaben macht, es kommt nur auf den Rückgabewert an. Bernd -- Probleme mit dem Drucker? Schon die Druckercheckliste beachtet? http://localhost/doc/sdb/de/html/drucker-howto.html | Auch lesenswert: Oder schon das Drucker-HOWTO gelesen? | man lpr file://usr/shar/doc/howto/de/DE-Drucker-HOWTO.txt.gz | Zufallssignatur 3
participants (6)
-
Alexander Thoma
-
B.Brodesser@t-online.de
-
David Haller
-
Dennis Stosberg
-
mario ohnewald
-
Thorsten Haude