[bash] While mit mehreren Argumenten

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
fish12345
Beiträge: 164
Registriert: 05.10.2004 16:45:34

[bash] While mit mehreren Argumenten

Beitrag von fish12345 » 14.03.2005 19:28:57

Hi,
habe folgendes:

Code: Alles auswählen

#!/bin/sh
while [ "`acpi | awk '{print$4;'} | sed 's/%,//g'`" -gt "80" ]
 do
  sleep 120
 done
ich will aber 2 abfragen machen, also halt was ich hab oder

Code: Alles auswählen

"`acpi | awk '{print$3;'}`" = "charging,`"
mein problem ist eben nur dass ich nicht weiß wie ich dieses oder ausdrücken soll...
ich will keine 2 schleifen... es sei denn es gibt sowas wir sprungmarken, dann würde mir ne möglichkeit einfallen dass ebenfalls zu realisieren...

also würd mich freun wenn mir jemand helfen kann... entweder eben oder bei while oder eben alternativ sprungmarken...

by fish

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 14.03.2005 19:41:33

hmm - wenn ich dich richtig verstehe möchtest du solange ein gewisser Zuständ zutrifft|nicht zutrifft etwas ausführen ...

die while schleife ist dafür das richtige - beim auswerten (evaluieren der beiden bedingungen die entscheiden ob die schleife durchlaufen wird kannst du einfach einer subshell zwei reguläre ausdrücke übergeben wobei das ganze zu true evaluiert falls eine der beiden bedingugen true ist)

sieht dann ca. so aus:

Code: Alles auswählen

while $(bedingung1 || bedingung2); do
          #fill in your code here
done
alternativ ginge auch

Code: Alles auswählen

while `bedingung1 || bedingung2`; do
          #fill in your code here
done
für bedingung1 bzw. bedingung2 kannst du dann einen regulären ausdruck nehmen und z.B mit

Code: Alles auswählen

 [option reg. ausdruck]
oder alternativ

Code: Alles auswählen

test option reg. ausdruck
etwas auswerten
war es das was du wissen wolltest?
Zuletzt geändert von meandtheshell am 14.03.2005 19:52:17, insgesamt 3-mal geändert.

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 14.03.2005 19:46:09

uiuiui das letztere sollte nicht gehen, da

` <--- ---> ` wird ausgeführt und ein --- | --- pipt weiter..
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

fish12345
Beiträge: 164
Registriert: 05.10.2004 16:45:34

Beitrag von fish12345 » 18.03.2005 21:30:37

danke, habs jetzt mit -o gemacht

Antworten