![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| UNIX for Dummies Questions & Answers Wenn Sie nicht sicher sind, wo Sie eine UNIX-oder Linux-Frage, post it here. Alle UNIX-und Linux-Anfänger willkommen! |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Wie giv zwei Bedingungen in IF-Anweisung ..? | RRVARMA | Shell Programmierung und Scripting | 6 | 04-25-2008 09:33 AM |
| reduzieren oder die Bedingungen | hitmansilentass | Shell Programmierung und Scripting | 8 | 05-03-2007 05:27 PM |
| mehrere Bedingungen in if / then | grandtheftander | UNIX for Dummies Questions & Answers | 4 | 07-21-2006 01:58 PM |
| if-Anweisung mit zwei Bedingungen | cin2000 | Shell Programmierung und Scripting | 1 | 01-23-2006 03:21 PM |
| if-Anweisung mit zwei Bedingungen,-e, & & | yongho | Shell Programmierung und Scripting | 16 | 06-14-2005 04:46 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Zwei Bedingungen in einer if-Anweisung
Ich bin völlig neu, mit bash und Programmierung I don't get it, wie man zwei Bedingungen in einer if-Anweisung. Mein Code sieht wie folgt aus:
Code:
h=`date +%k` if [ [ $((h>9)) ] && [ $((h<21)) ] ]; then |
|
||||
|
Die Shell hat eine unheimliche Menge von Alternativen für die Syntax Bedingungen.
Das [ist keine traditionelle Trennzeichen, sondern den Namen eines Befehls. Die Art und Weise zu verwenden, für mehrere Ausdrücke ist wie folgt: Code:
if [ "$h" -gt 9 ] && [ "$h" -lt 21 ]; then ... fi Code:
if [ "$h" -gt 9 -a "$h" -lt 21 ]; then ... fi Code:
if [ $((h > 9 && h < 21)) == 1 ]; then ... fi Code:
if [[ $h > 9 ]] && [[ $h < 21 ]]; then ... fi |
|
||||
|
Oh boy! Ich glaube, ich bin zu jung für diese. Ich komme aus der Java-Generation, bash offenbar schwierig.
Diese beiden zu funktionieren scheint. Ist das wirklich das gleiche? Code:
if [ $h -gt 9 -a $h -lt 21 ]; then Code:
if [ "$h" -gt 9 ] && [ "$h" -lt 21 ]; then |
|
||||
|
Die Anführungszeichen sind vor allem für die Sicherheit (gute Angewohnheit bei $ h endet mit einem leeren String von Fehler, zum Beispiel) und in der Theorie, die & & Variante könnte zwei externe Prozesse, bei denen ein nur erstellen. (Es ist Theorie, da [ist wahrscheinlich intern in Modernen Muscheln, so gibt es keine externen Prozess beteiligt.)
Shell-Skripte werden nicht geparst viel, die Syntax ist flach als in vielen anderen Skript-Sprachen und das schafft einige Komplikationen, aber auch hilft, die Schale sehr vielseitig. Der Mangel an Standardisierung, built-in arithmetischen Operatoren von Anfang an ist eine weitere Quelle der Komplexität in diesem Fall. POSIX Versuche, um einige der Fragen, sondern historisch, verschiedene Muscheln entwickelt haben verschiedene Erweiterungen, die dann, wie sie waren, noch mehr verschiedene Möglichkeiten für die Haut eine Katze. |
![]() |
| Lesezeichen |
| Tags |
| Bedingungen if-Anweisung |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|