Si tu as utilisé une tâche crontab créée depuis ton compte utilisateur pour lancer ce script
et si les 3 fichiers .txt utilisés dans ce script sont dans le répertoire personnel de ton compte utilisateur
alors :
tu n'auras pas besoin de spécifier le répertoire dans lequel sont les fichiers .txt utilisés dans ce script car le répertoire courant par défaut utilisé lors de l'exécution de ce script sera le répertoire personnel de ton compte utilisateur
et tu n'auras pas à spécifier le chemin absolu des commandes utilisées dans ce script car le chemin /usr/bin est déjà dans la liste des chemins assignée à la variable PATH
Voilà le contenu du script modifié (et sans le caractère S qui était juste avant le shebang)
qui sera lancé par la tâche crontab :
#!/bin/shnomfic1=$(date --date '1 days ago''+%Y%m%d')'Filter.txt'nomfic2=$(date --date '2 days ago''+%Y%m%d')'Filter.txt'nomfic3=$(date --date '1 days ago''+%Y%m%d')'DifFilter.txt'
diff $nomfic1$nomfic2 >> $nomfic3
Il faudra que ce script soit exécutable par ton compte utilisateur
et tu auras besoin de spécifier le chemin absolu de ce script (en utilisant, par exemple, la variable $HOME) dans la ligne de commande de la tâche crontab.
À la suite de la commande dans la ligne crontab, tu pourrais ajouter une redirection de STDERR vers un fichier log, au cas où quelque chose ne se serait pas bien passé dans le script.
Si tu as utilisé une autre méthode pour lancer ce script,
il faudra le préciser, car autre contexte => autres contraintes.
... et dans ce royaume, ceux qui y voient un peu plus clair sont parfois très mal vus.
# Si ton script est lancé par une tâche crontab
Posté par MicP . En réponse au message Script permettant d'effectuer un diff entre deux fichiers jour n et jour n-1. Évalué à 1. Dernière modification le 07 septembre 2022 à 19:18.
crontabcréée depuis ton compte utilisateur pour lancer ce script.txtutilisés dans ce script sont dans le répertoire personnel de ton compte utilisateuralors :
.txtutilisés dans ce script car le répertoire courant par défaut utilisé lors de l'exécution de ce script sera le répertoire personnel de ton compte utilisateur/usr/binest déjà dans la liste des chemins assignée à la variablePATHVoilà le contenu du script modifié (et sans le caractère
Squi était juste avant le shebang)qui sera lancé par la tâche crontab :
$HOME) dans la ligne de commande de la tâche crontab.À la suite de la commande dans la ligne crontab, tu pourrais ajouter une redirection de STDERR vers un fichier log, au cas où quelque chose ne se serait pas bien passé dans le script.
Si tu as utilisé une autre méthode pour lancer ce script,
il faudra le préciser, car autre contexte => autres contraintes.
... et dans ce royaume, ceux qui y voient un peu plus clair sont parfois très mal vus.