>> Schau dir mal "for" und "if" an.
>> http://lmgtfy.com/?q=shell+variable+addieren
Ich mache gerade meine ersten Schritte Richtung Shell-Scripts und habe ein paar Fragen:
>> Der Befehlsoll 200 mal wiederholt werden. Nach 100 Mal wiederholen sollCode:echo "A"ausgegeben werden (allerdings während die Schleife noch läuft). Wie wiederhole ich also diese Befehle in einem Shell-Script und wie lasse ich nach 100 mal den anderen Befehl ausgeben?Code:echo "B"
>> Wie addiere ich zur Variable "x" 1 dazu?Code:A A A A ... A B A B ...
Lg, keyboard
|
Das Linux-Firewalls Standardwerk jetzt 71% billiger – Nur solange Vorrat reicht DAS Firewall-Buch jetzt günstiger! Security-Fachmann Ralf Spenneberg führt mit diesem Buch
|
>> Schau dir mal "for" und "if" an.
>> http://lmgtfy.com/?q=shell+variable+addieren
Okay, ich habe folgendes versucht:
Ausgabe:Code:for a in {1..5} do echo "Hello!" Done
Wo sind die anderen 4? Mit for a in 1 2 3 4 5 geht es, aber ich werde nicht so weiter schreiben, bis ich bei 200 bin?Code:Hello!
Also, wenn man das "Done" als "done" (also klein) schreibt, dann funktioniert das Skript in der GNU bash, Version 4.2.24 einwandfrei.
Welche shell verwendest du denn?
Es gibt zu etlichen shells tutorials im Internet, wie man Loops schreiben kann.
Google ist dein Freund!
Entschuldigung, das it Done war ein Rechtschreibfehler. Natürlich ist es kleingeschrieben.
Ich benutze jetzt das seq Kommando, das funktioniert einwandfrei.
Und sei dir sicher:
Hätte Google für mich eine Lösung parat gehabt, hätte ich nicht
Nur in der Bash und tatsächlich mit "echo". Das Beispiel dürfte auch Deine Frage beantworten, wie man zur Vari x, 1 dazu addiert:
Code:#!bin/bash x=1 while [ $x -le 200 ]; do echo "A" if [ $x -gt 100 ]; then echo "B" fi ((x++)) done
Ich denke gemeint ist eher, dass B statt A ausgegeben wird:
Code:#! /bin/bash for COUNTER in {1..200}; do if [ $COUNTER -le 100 ]; then echo A else echo B fi done
Oh, da habe ich mich wohl verlesen.
Er meine dann wohl doch das, was deine Lösung tut. :-)
Lesezeichen