Datum: 2007-06-10
Quelle: mrunix.de
Es soll ein Script mit verschiedenen Parametern als at-Job gestartet werden. Das Problem dabei ist, dass at keine Parameter akzeptiert.
# Links erzeugen / create links for p in par1 par2 par3; do ln /home/user/test.sh "/home/user/test ${p}.sh" done # at-Jobs starten / start the at jobs at -f "/home/user/test par1.sh" now at -f "/home/user/test par2.sh" now at -f "/home/user/test par3.sh" now # inerhalb des Scripts / within the script: # aus dem Scriptnamen den Parameter extrahieren # extract the parameter from the script name PAR=`basename "$0" .sh | cut -f2 -d" "`
Zuerst wird für jedes Argument ein Link erzeugt. Damit existiert ein Script namens test parX.sh für jeden Parameter und kann per at-Kommando gestartet werden. Innerhalb des Scripts wird der Wert des Parameters über die basename - cut - Zeile ermittelt und kann dann innerhalb des Scripts verwendet werden.