#!/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
Dieses Skript wird in einer Datei mit der Bezeichnung test.sh
gespeichert. Wenn ich es zum Beispiel um 17 Uhr ausführe, schreibt es case1
in meine Protokolldatei. Aber für jeden nachfolgenden at
Aufruf (der jede Minute stattfindet) schreibt das Skript case2
in meine Protokolldatei. Kannst du erklären warum?Beim Job nach Zeit fragen
Verschiebt sich dieses Skript jede Minute neu? Hast du darüber nachgedacht, in einer Schleife oder von Cron zu laufen? –
@thatotherguy: Ich habe gerade die Tatsache notiert, dass bei Job das Skript recutiv aufruft. – sjsam
@thatotherguy Wie sjsam bereits erklärte, definiert die Zeile 'at jetzt +1 Minuten -f./test.sh' einen at-Job, der das Skript nach einer Minute rekursiv aufruft. –