#!/bin/bash
at now +1 minutes -f ./test.sh
logFile="/home/.../testLog.txt"
time1="114000"
time2="153000"
currentTime=`date +"%H%M%S"`
echo "" >> "$logFile"
date >> "$logFile"
echo "$currentTime" >> "$logFile"
echo "" >> "$logFile"
if [[ "$currentTime" < "$time1" || "$currentTime" > "$time2" ]]
then
echo "case1" >> "$logFile"
else
echo "case2" >> "$logFile"
fi
Ce script est enregistré dans un fichier appelé test.sh
. Lorsque je l'exécute par exemple à 17 heures, il écrit case1
dans mon fichier journal. Mais pour chaque appel at
suivant (qui a lieu toutes les minutes) le script écrit case2
dans mon fichier journal. Pouvez-vous expliquer pourquoi?Au travail demandant l'heure
Ce script se replie-t-il toutes les minutes? Avez-vous envisagé de courir dans une boucle ou à partir de cron à la place? –
@thatotherguy: Je viens de noter le fait qu'au travail appelle le script de manière créative. – sjsam
@Thatotherguy As sjsam a déjà expliqué la ligne 'now +1 minutes -f./Test.sh' définit un travail at qui appelle le script récursivement après une minute. –