我有一个脚本(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) 周围的标记,它似乎对我来说是双向的。