다른 스크립트(Get_Files.sh)를 호출하고 다음과 같은 변수의 값을 가져오는 스크립트(main.sh)가 있습니다.
File_to_Refresh="$(sh /Aug/work/Get_Files.sh /Aug/Work/Universal_File.txt)"
이제 3개의 다른 파일(즉, 3개의 다른 값을 가진 Universal_File.txt)과 3개의 다른 날짜에 대해 main.sh 스크립트를 예약해야 합니다.
따라서 스크립트를 일반화하기 위해 Cron Entry에서 Get_Files.sh로 일반 파일을 전달하려고 합니다.
어떻게 하면 같은 효과를 얻을 수 있나요?
sh /Aug/Work/main.sh /Aug/Work/Universal_File.txt 와 같이 스크립트를 수동으로 실행하면 다음이 작동하지만 cron을 통해 실행하면 작동하지 않습니다.
File_to_Refresh="$(sh /Aug/work/Get_Files.sh "$1")"
크로나:
45 08 * * * sh /Aug/Work/main.sh /Aug/Work/Universal_File.txt
답변1
$1
하루에 하나씩 3개의 cron 항목이 있는 경우(주석에서 언급한 대로) 각 cron 항목에서 사용하는 파일을 인수로 지정하고 main.sh 스크립트에서 사용할 수 있어야 합니다.
$ cat main.sh
File_to_Refresh=$(sh sub.sh $1)
echo FileToRefresh: $File_to_Refresh
$ cat sub.sh
echo Sub \$1: $1
$ ./main.sh /Aug/Work/File1.txt
FileToRefresh: Sub $1: /Aug/Work/File1.txt
$(xxx) 주위에 태그가 필요한지 잘 모르겠습니다 "
. 제게는 두 가지 방식으로 모두 작동하는 것 같습니다.