Я изменил ваш скрипт на следующий:
if [[ -f /tmp/norun ]]; then
echo "Removing /tmp/norun $(date '+%Y%m%d-%T')" >>s30928290.log
rm -- /tmp/norun
timesh=$(date --date='1 minute') # This variable is not being used
at -f /home/s300928290/s300928290.at now + 5 minutes
else
echo "Hello, world $(date '+%Y%m%d-%T')" >>s30928290.log
fi
Как указал Кусалананда, ((... ))
является арифметическим выражением bash и недопустимо для проверки файлов, поэтому оно было изменено на [[... ]]
.
У вас есть data
когда я полагаю, что вы хотели date
. Также их нужно поставить в подстановку команд($(... )
).
Кроме того, вы неправильно написали minutes
в своей команде at