tutorials.de Buch-Aktion 02/2012
Like Tree1Danke
  • 1 Beitrag von thekorn
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
56784
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    wpb wpb ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    167
    Hy!!

    Wie schreibt man eine einfache Zählschleife (1-10) in der Linux Shell

    Danke schon mal...
     

  2. #2
    Mindwinder Mindwinder ist offline Mitglied Bronze
    Registriert seit
    May 2006
    Ort
    Hamburg
    Beiträge
    43
    Hi,
    in der Shell mußt du hierfür eine while Schleife benutzen, oder aber in der for Anweisung eine expliziete Liste 1 2 3 4 5... angeben:

    for i in 1 2 3 4; do
    echo $i
    done

    Hatte auch etwas gelesen, dass ab bash xy eine for schleife im c++ Stil unterstützt wird, diese dann jedoch nicht abwärts kompatibel ist.

    Gruß Mindwinder
    Geändert von Mindwinder (03.05.06 um 14:03 Uhr)
     

  3. #3
    thekorn thekorn ist offline Mitglied Brokat
    Registriert seit
    Apr 2002
    Ort
    Hannover
    Beiträge
    250
    hallo,
    Wenn du zum Beispiel eine Bash benutzt, dann geht auch:
    Code :
    1
    2
    3
    4
    5
    6
    
    i=1
    unitl [ $i -gt 5 ]
    do
    echo $i
    i=$[$i+1]
    done

    gruß
    thekorn
    Philipp9494 bedankt sich. 

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    7.983
    Hi.

    Das "unitl" bei thekorn soll natürlich "until" heißen.

    Außerdem hast du nicht gesagt welche Shell du verwendest - zugegeben Bash ist meist die Standardshell aber es gibt eben mehrere.

    Ich würde ein solche Schleife in Bash vermutlich so schreiben:
    Code bash:
    1
    2
    3
    4
    
    declare -i i=0
    while [[ $((++i)) -le 10 ]]; do
      echo $i
    done
    Oder so:
    Code bash:
    1
    2
    3
    
    for i in $(seq 10); do
      echo $i
    done
    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    thekorn thekorn ist offline Mitglied Brokat
    Registriert seit
    Apr 2002
    Ort
    Hannover
    Beiträge
    250
    schönen Dank deepthroat, aber wenn die Finger schneller sind als das Hirn...

    Nebenbei:
    Ich habe immer noch nicht verstanden, wie man hier schön formartierten Code mit Zeilennummern darstellen kann.

    gruß
    thekorn
     

  6. #6
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    7.983
    Zitat Zitat von thekorn
    Nebenbei:
    Ich habe immer noch nicht verstanden, wie man hier schön formartierten Code mit Zeilennummern darstellen kann.
    Dann schau dir mal das Tagebuch zur tutorials.de Entwicklung an, Punkt "Montag, 30.01.:Neues Feature: Syntax-Highlighting für (fast) alle Programmiersprachen".

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  7. #7
    tutorial-hilfe tutorial-hilfe ist offline Mitglied Bronze
    Registriert seit
    Jan 2006
    Beiträge
    31
    Ich bedanke mich für die Frage und die Antworten!
     

  8. #8
    Elizar Tutorials.de Gastzugang
    In neueren Versionen der bash auch so:

    for i in {1..10}
    do
    ...
    done
     

  9. #9
    OnlyFoo OnlyFoo ist offline Mitglied Brokat
    Registriert seit
    Feb 2005
    Beiträge
    470
    Oder c-like
    Code bash:
    1
    2
    3
    
    for ((i=0; i < 10; i++)) ; do
      echo $i
    done
     

  10. #10
    user01010 Tutorials.de Gastzugang
    Hallo,
    Ich benutze Suse 10. Nun wollte ich gerne meine erste Schleife ausprobieren. Ich habe diese Schleife:
    for i in $(seq 10); do echo $idone
    kopiert und ich in eine Datei Namens. xyz gespeichert.

    Wie kann ich die Datei aufrufen? mit welchen Befehl? bekommt die datei eine endung?
     

  11. #11
    Avatar von Raubkopierer
    Raubkopierer Raubkopierer ist offline Mitglied Diamant
    Registriert seit
    Feb 2007
    Ort
    Saultitz (Sachsen)
    Beiträge
    1.700
    Blog-Einträge
    7
    Den meisten Posix-Systemen sind Endungen relativ schnurz. Der Zweck einer Datei wird von ihrem Inhalt d.h. ihrem Mime-Typ und spezifischen Merkmalen in ihrem Aufbau bestimmt.
    D.h. eine Textdatei bleibt eine Textdatei solange man sie mit keinem Programm aufruft. Im Fall von Bash-Skripten bedeutet dies eine kompatible Shell wie bash oder sh (auf den meisten Systemen verweist sh standardmäßig auf bash). Um dem System zu sagen was es mit der Datei machen soll benutzt man die shebang-Zeichenkombination am Anfang des Files. Diese besteht aus #! gefolgt vom Pfad der Executable mit der die Datei geöffnet werden soll. Im Fall von shell-sripts für gewöhnlich #!/bin/sh. Damit du nun einfach auf die Datei Doppelklicken kannst muss sie noch entsprechende Dateiberechtigungen besitzen, da man normalerweise in einem unixoiden System mit restriktivem Rechtemanagement keine Datei einfach so ausführen darf. Dies erreichst du durch folgenden simplen Befehl:

    Code bash:
    1
    
    chmod +x /pfad/zu/deiner/datei

    Achja: Weils hübsch aussieht haben Skripte meist die Endung .sh

    Edit: Natürlich Endungen ... danke deepthroat
    Geändert von Raubkopierer (29.03.10 um 06:12 Uhr)
     
    Albert Einstein sagte einmal:
    Es gibt 2 Dinge die unendlich sind: Das Universum und die Dummheit der Menschen. Beim Ersten bin ich mir allerdings nicht ganz sicher.

    Stoppt die Vorratsdatenspeicherung!

  12. #12
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    7.983
    Zitat Zitat von Raubkopierer Beitrag anzeigen
    Den meisten Posix-Systemen sind Änderungen relativ schnurz.
    Du meinst Endungen, oder?!

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

Ähnliche Themen

  1. Shell Variable auserhalb einer Schleife verwenden
    Von Ragna_44 im Forum Linux & Unix
    Antworten: 2
    Letzter Beitrag: 09.04.10, 08:48
  2. Linux-Shell vs. Stored Procedure
    Von luigied im Forum Linux & Unix
    Antworten: 3
    Letzter Beitrag: 27.10.09, 20:43
  3. [Shell-Linux] Zeichenfolge extrahieren
    Von Freak_Desperado im Forum Sonstige Sprachen
    Antworten: 2
    Letzter Beitrag: 07.01.08, 01:42
  4. Shell Script mit If Schleife funktioniert nicht
    Von The_Rave im Forum Sonstige Sprachen
    Antworten: 1
    Letzter Beitrag: 13.09.05, 19:43
  5. Shell unter Linux
    Von Shockwhore im Forum Linux & Unix
    Antworten: 3
    Letzter Beitrag: 27.04.04, 08:39