将值传递给脚本的 Cron 条目

将值传递给脚本的 Cron 条目

我有一个脚本(main.sh),它调用另一个脚本(Get_Files.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

如果您有 3 个 cron 条目,每天 1 个(如注释中所述),您应该能够指定每个 cron 条目使用的文件作为参数并$1在 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) 周围的标记,它似乎对我来说是双向的。

相关内容