# Batch erstellen



## zirag (29. Mai 2007)

Hi Leute,

Ich bin eher der newbie in Sachen Linux. Ich würde gerne eine Batch datei erzeugen.

Ich muss mehrere Consolen öffnen, und dann einen Befehl da reinschreiben.

Diese befehle haben meistens mehrere Parameter, diese möchte ich jedes mal beim Ausführen der Batch vorher abfragen, bevor der Befehl ausgeführt wird.

Und einen Befehl für Wait bräuchte ich auch noch.


Also das ganze sollte dann so ablaufen(ist jetzt nur ein Beispiel):

Batch_starten
- Geben Sie ihre IP ein ( User gibt ein: 11.11.11.11 )
------------ neue Console öffnen , Befehl "ping 11.11.11.11" ausführen
>>>WAIT FOR 2 SECONDS
- Geben Sie ihren Namen an (User gibt Peter ein)
-Geben Sie ihr Alter an (User gibt 19 ein)
Geben Sie ihre Heimatstadt ein (User gibt Hamburg ein)
------------ neue Console öffnen und Befehl " newUser -n Peter -a 19 -c Hamburg " ausführen
>>>WAIT FOR 2 SECONDS



Hoffe man versteht was ich meine 

Danke im Vorraus 
mfg ZiRaG


----------



## dakkar (29. Mai 2007)

Hmm nein versteh ich nicht wirklich. Was meinst du mit "eine neue Konsole oeffnen"?

Hier ein paar "Tipps":

Parameter abfragen: param1 = $1, param2 = $2 etc
Dein wait: man sleep

Mit mehr Infos kann man vielleicht auch mehr helfen 

Dakky


----------



## zirag (29. Mai 2007)

Es läuft nach dem Befehl ein Programm in dem Shell Fenster.

Also soll der nächste Befehl in einem neuen Shell Fenster geöffnet werden.


Also kann ich die Parameter so abfragen:

name = $1 

und dann 

newUser -n $1 -c $2 usw 

danke schonmal ,

aber könntest du noch etwas genauer werden ? Wie gesagt ich hab keine Ahnung.

welche DateiEndung haben diese Batches unter Linux ? 
muss man sonst was beachten ? 

kann man die Befehle die man in die Shell schreibt auch so einfach in die Batch schreiben


----------



## dakkar (30. Mai 2007)

Hmm, also ich sehe den Sinn nicht, warum dann z.B. der Ping in einem neuen Fenster geoeffnet werden soll (was vermutlich auch garnicht so einfach ist bzw. ich bezweifle ob es überhaupt geht.)

Zu deinen anderen Fragen:
1. Es gibt unter Linux keine Dateiendungen. die kannst dein Script nennen wie du willst. Allerdings hat sich als Standard durchgesetzt, Shellscripte mit der Endung ".sh" zu bennennen. Hat aber nur optischen Charakter. Um ein beliebiges Script ausführen zu können, musst du execute Rechte an dem Script haben.

2. Im Normalfall kann man das, was man auf der Kommandozeile ausführt 1:1 in das Script schreiben. Gibt ein paar Fälle wo das nicht gilt, aber ich denke bis du auf diese triffst, hast du schon etwas mehr Erfahrung.

3. Die Sache mit den Parametern. Hier mal ein Beispiel was das verdeutlichen sollte:

Aufruf: 
	
	
	



```
./script.sh dakkar zirag hallo
```
Script:

```
#!/bin/bash
echo $1
echo $2
echo $3
```
die Ausgabe: 

```
dakkar
zirag
hallo
```

MfG
Dakky


----------

