Bonjour,
Je programme des scripts en Korn Shell et j'utilise des fonctions que j'écris aussi en korn Shell.
Le problème est que je ne sais pas si j'ai bien mis en place le mécanisme lié aux fonctions en programmation ksh.
En fait, j'ai créé un répertoire :
Dans lequel se trouve mes fichiers de fonctions
Code :
- CheckDate, CheckScript, etc ....
|
En suite, j'ai déclarer la variable FPATH=/home/functions dans le fichier d'initialisation : .profile
En suite au sein d'un script :
Code :
- #!/bin/ksh
- #@# Mise en place de la trace d execution
- #@# Association des sorties standard et erreur redirigees dans la trace
- exec > /home/sybase/prog/callfunction.txt 2>&1
- #@# Chargement de la fonction
- autoload CheckDate
- #@# Appel de la fonction CheckDate
- CheckDate $1
- if [ $? -eq 1 ]; then
- print "Erreur : argument date."
- exit 1
- else
- print "Date : $1, ok."
- fi
|
Puis j'exécute ce script
Code :
- callfunction.ksh 20050606
|
tout se passe comme prévu c'est à dire qu'il valide ou non le format et l'existence de la date passée en paramètre.
Es ce que ce mécanisme est correct ?
Lorsque je lance le sctipt à la main :
Code :
- callfunction.ksh 20050606
|
Ca marche correctement.
Par contre via la crontab, ça ne marche pas.
Il n'y a une erreur sur l'appel de la fonction.
Je pense que cela vient du fait que la crontab n'utilise pas les même fichiers d'initialisation (profile, .profile, etc ....)
Quelqu'un a une idée ?
Merci.
Message édité par IsBack le 23-03-2005 à 16:01:15