Basisfragen: Shell-Skripts

K

keyboard

Grünschnabel
Ich mache gerade meine ersten Schritte Richtung Shell-Scripts und habe ein paar Fragen:

>> Der Befehl
Code:
echo "A"
soll 200 mal wiederholt werden. Nach 100 Mal wiederholen soll
Code:
echo "B"
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:
A
A
A
A
...
A
B
A
B
...

>> Wie addiere ich zur Variable "x" 1 dazu?

Lg, keyboard
 
Okay, ich habe folgendes versucht:

Code:
for a in {1..5}
do
echo "Hello!"
Done

Ausgabe:
Code:
Hello!

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?
 
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. :-)
 

Ähnliche Themen

Variable mit 'tr' ändern

HandbrakeCLI Shell Skript

Shell if-Abfrage mit equal or greater wirft Fehlermeldung unary operator expected

problem

Ubuntu X / dbus problem

Zurück
Oben