TheCombatWombat
Cadet 3rd Year
- Registriert
- Mai 2008
- Beiträge
- 39
Hallo, leider bin ich ziemlicher Linux Anfänger und wollte mir eigentlich "nur" schnell ein Bash Script schreiben, dass mehrer Befehle ausführt.
Und zwar habe ich ein Sammelsurium von Rechnungen die ausgeführt werden müssen. Dazu müssen immer 3 Programme nacheinander ausgeführt werden.
Jede Rechnung hat dabei ein eigenes Unterverzeichnis.
Sieht dann so aus:
/Rechnung1
/Rechnung2
...
Momentan liegt in jedem dieser Verzeichnisse das gleiche Skript (namens calculate), dass so aus sieht
#!/bin/sh
echo Preprocessing
/pfad/befehl1 parameterdatei logdatei
echo Starte Rechnung
/pfad/befehl2 parameterdatei logdatei
usw.
Das funktioniert ja auch alles bestens solange das Script in dem gleichen Verzeichnis wie die Parameterdatei liegt. Sämtliche Pfadangaben in der Parameterdatei sind nämlich relative Pfade!
Jetzt wollte ich mir noch ein Skript basteln, dass alle anderen Berechnungs-Skripte nacheinander ausführt.
Also:
#!/bin/sh
/pfad/Rechnung1 calculate
/pfad/Rechnung2 calculate
usw.
Dies hab ich ins Root gepackt.
Das tut es zwar auch...aber nur mit Fehlermeldungen. Denn jetzt machen die relativen Pfade der Parameterdateien Probleme. Sie werden quasi im falschen Verzeichnis ausgeführt
Also anstelle von /Rechnung1/Unterverzeichnis wird jetzt alles bezogen auf das Root ausgeführt...
In Windows hätte ich ja einfach den cd Befehl genutzt, aber das hilft hier ja scheinbar nicht
Hatt jemand dafür eine Lösung? Ich hoffe ich habe es halbwegs verständlich erklärt
Vielen Dank
CombatWombat
Und zwar habe ich ein Sammelsurium von Rechnungen die ausgeführt werden müssen. Dazu müssen immer 3 Programme nacheinander ausgeführt werden.
Jede Rechnung hat dabei ein eigenes Unterverzeichnis.
Sieht dann so aus:
/Rechnung1
/Rechnung2
...
Momentan liegt in jedem dieser Verzeichnisse das gleiche Skript (namens calculate), dass so aus sieht
#!/bin/sh
echo Preprocessing
/pfad/befehl1 parameterdatei logdatei
echo Starte Rechnung
/pfad/befehl2 parameterdatei logdatei
usw.
Das funktioniert ja auch alles bestens solange das Script in dem gleichen Verzeichnis wie die Parameterdatei liegt. Sämtliche Pfadangaben in der Parameterdatei sind nämlich relative Pfade!
Jetzt wollte ich mir noch ein Skript basteln, dass alle anderen Berechnungs-Skripte nacheinander ausführt.
Also:
#!/bin/sh
/pfad/Rechnung1 calculate
/pfad/Rechnung2 calculate
usw.
Dies hab ich ins Root gepackt.
Das tut es zwar auch...aber nur mit Fehlermeldungen. Denn jetzt machen die relativen Pfade der Parameterdateien Probleme. Sie werden quasi im falschen Verzeichnis ausgeführt
Also anstelle von /Rechnung1/Unterverzeichnis wird jetzt alles bezogen auf das Root ausgeführt...
In Windows hätte ich ja einfach den cd Befehl genutzt, aber das hilft hier ja scheinbar nicht
Hatt jemand dafür eine Lösung? Ich hoffe ich habe es halbwegs verständlich erklärt
Vielen Dank
CombatWombat