Das UNIX-Skriptbeispiel erstellt zwei indizierte Felder, HostList und OSList im UnixGetInfo-Operatordatensatz. Es liest die Quelldatei zeilenweise und weist Hostnamen ($host) zu indizierten Werten in aufeinander folgenden HostList-Feldern und Betriebssysteme ($opsys) zu indizierten Werten in aufeinander folgenden nummerierten OSList-Feldern zu, beginnt dabei mit 0 und endet bei der Zahl eins niedriger als die Anzahl der aus der Quelldatei gelesenen Zeilen.
Die UNIX-Shellskript-Parametervariablen $1, $2 usw. werden durch die erste, zweite usw. Einträge im Eingabebereich "Parameter" des aufgerufenen Operators "Programm ausführen" festgelegt. In diesem Fall wird nur ein Parameter übergeben, der verwendet wird, um "SourceFile" festzulegen. Die Anzahl der gelesenen Zeilen wird der Operatordatensatzvariablen NumRowsRead zugewiesen. Die Zeile "sleep 30" hat lediglich die Funktion, den Operator zu unterbrechen und dem Anwender 30 Sekunden Zeit zu geben, um die am C2OSVD-Speicherort erstellten Ordner und Dateien zu prüfen. Diese Zeile wird nicht in ein Produktionsskript aufgenommen.
#!/bin/ksh
SourceFile=$1
#known, um 2 Variable, Host und Betriebssystem zu lesen
mkdir $C2OSVD/HostList
mkdir $C2OSVD/OSList
integer counter=0
while read host opsys; do
echo -n $host > $C2OSVD/HostList/${counter}
echo -n $opsys > $C2OSVD/OSList/${counter}
counter=$counter+1
done < $SourceFile
echo -n $counter > $C2OSVD/NumRowsRead
sleep 30
exit 0
|
Copyright © 2013 CA.
Alle Rechte vorbehalten.
|
|