Was wäre der richtige Weg, um ein Array in einem Skript zu deklarieren, die von cron aufgerufen werden?
Frage
Ich habe ein Kornshell (KSH) Skript geschrieben, das ein Array die folgende Art und Weise setzt:
set -A fruits Apple Orange Banana Strawberry
aber wenn ich versuche, es von innen cron zu laufen, es stellt sich die folgende Fehlermeldung:
Your "cron" job on myhost
/myScript.sh
produced the following output:
myScript.sh: -A: bad option(s)
Ich habe viele crontab Syntax-Varianten ausprobiert, wie zum Beispiel:
Versuch 1:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /path/to/script/myScript.sh
Versuch 2:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /path/to/script/./myScript.sh
Versuch 3:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * cd /path/to/script && ./myScript.sh
würde Jede Abhilfe herzlich willkommen. Vielen Dank im Voraus!
Lösung 3
Obwohl ich nicht sicher bin, es ist der beste Weg, es zu tun, ich habe es geschafft, es auf diese Weise zu lösen:
Versuch 4:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * cd /path/to/script && ksh ./myScript.sh
Andere Tipps
*/5 * * * * cd /path/to/script && ksh ./myScript.sh
: - es wird alle 5 Minuten laufen.
Definieren Sie Pfadvariablen auch im cron selbst.
Hat myScript.sh
beginnen mit
#!/bin/ksh
(oder was auch immer ist der Weg für die KSH)?