レポートが送信される名前/場所を含む単純なテキスト ファイル (ここでは report_locations.txt) をいつでも作成できます。
ReportName1;/home/bob
ReportName2;/home/jim,/home/jill
ReportName3;/home/jill,/home/bob
この例では、レポート名が常に最初のフィールドになり、対応するレポートが配置される場所が続き、コンマ (または任意の区切り記号) で区切られます。
for
次に、そのファイルをシェル スクリプトで読み取ります (この種の操作にはループを使用するのが好きです)。
#!/usr/bin/ksh93
for REPORT in $(cut -d";" -f1 report_locations.txt)
do
LISTS=$(grep ${REPORT} report_locations.txt | cut -d";" -f2)
for LIST in ${LISTS}
do
DIRS=$(echo ${LIST} | tr ',' '\n')
for DIR in ${DIRS}
do
echo "Copying ${REPORT} to ${DIR}"
cp -f ${REPORT} ${DIR}
done
done
done
ループの使用はfor
少し過剰かもしれませんが (私はループに巻き込まれてしまいます)、仕事は完了します。
これがあなたが探しているものかどうかはわかりませんが、どちらかといえば出発点です。コードの説明が必要な場合は、遠慮なくお尋ねください。