matlab 스크립트를 실행하는 쉘 스크립트를 실행하기 위해 Linux "at" 명령을 올바르게 사용하는 방법은 무엇입니까?

matlab 스크립트를 실행하는 쉘 스크립트를 실행하기 위해 Linux "at" 명령을 올바르게 사용하는 방법은 무엇입니까?

다음 쉘 스크립트가 있습니다.

#!/bin/bash
matlab -nodisplay -nosplash -nodesktop -r "run('/home/username/test.m');exit;"

test.m 스크립트는 그래프를 그리고 그래프를 표시하지 않고 그래프를 pdf로 저장하는 matlab 스크립트입니다. test.m 스크립트의 내용은 다음과 같습니다.

   % This is a matlab script to test with *at* execution. 
   t1=[1 2 3];
   t2=[1 2 3];
   plot(t1,t2)
   set(gcf,'Visible','off')
   print('-bestfit','/home/username/image','-dpdf')

내가 원하는 것은 특정 시간에 실행되도록 쉘 스크립트를 예약하는 것뿐입니다. 따라서 "at" 명령을 다음과 같이 사용합니다.

echo "run_matlab_script.sh" | at 15:00 

그런데 시간이 15시에 도달하면 스크립트가 실행되지 않는 것 같습니다. 또한 스크립트 경로를 포함하려고 시도했지만 "at"이 작동하지 않았습니다.

또한 이 링크의 지침을 따랐습니다.

https://tecadmin.net/one-time-task-scheduling-using-at-commad-in-linux/

"at"을 올바른 방식으로 사용하고 있나요? 스크립트 실행을 예약하는 대안이 있습니까? 이렇게 하면 source run_matlab_script.sh스크립트가 문제 없이 실행됩니다.

쉘 스크립트의 경우 다음 권한을 부여합니다.

chmod +x run_matlab_script.sh

감사해요!

관련 정보