別のスクリプト(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
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)の周りにタグが必要かどうかわかりません"
。私は両方の方法で動作するようです。