実行プログラムprogram
の実行形式は./program 入力ファイル 出力ファイル
とします。
プログラムの入力ファイルはinput/
ディレクトリから読み込み、出力ファイルはoutput/
ディレクトリ、標準出力と標準エラーのログはlog/
ディレクトリに出力します。
script.sh
#!/bin/bash
program="program"
in_dir="input/"
out_dir="output/"
log_dir="log/"
while read -d $'\0' file; do
f=`echo ${file} | awk -F "/" '{ print $NF }'`
nohup ./${program} ${in_dir}${f} ${out_dir}${f}.out > ${log_dir}${f}.log 2>&1
done < <(find ${in_dir} -mindepth 1 -maxdepth 1 -print0)
スクリプトファイルを実行するときは&
をつけてバックグラウンドで実行すると良いでしょう。
$ ./script.sh &