как передать функцию команде at на bash

Здраствуйте есть скажем фунция notifi

notifi(){
cd ~/sheduler2/wav
ls -1 *.mp3>list.txt
nomer=$((RANDOM%11+1))
nomer=$((RANDOM%11+1))
sed -n `echo $nomer`p list.txt> ~/sheduler2/wav/name_play.txt
nam_play=`cat ~/sheduler2/wav/name_play.txt`
echo "воспроизводим композицию:"$nam_play
mpv ./"$nam_play"
cd ~/sheduler2
DISPLAY=:0.0 zenity --warning --text="Задание выполнено!"
} 
cd ~/sheduler2
nul=0
b=7  #время больше которого запускается вечернее напоминание
casi=`echo $(( ( $(date +"%H") )  ))`#тут получаем
#числовое значение актуального времени в часах
echo "**mk0**"  #отладочный маркер
if [ "$casi" -le "$b" ];then
 echo "**mk1**"  #отладочный маркер
 at 07:19 -f notifi
    else 
       echo "**mk2**" #отладочный маркер 
       echo "notifi" | at 20:27
fi  

в первой ветке от if bash воспринимает notifi как файл и ругается что не находит такой файл, во втором ветвлении if совсем не ругается, но и не выполняет функцию , подскажите пожалуйста как заставить at выполнить функцию, я начинающийй в bash... ,про cron знаю и активно использую, но есть желание понять как совместить at с функцией,спасибо.


Ответы (0 шт):