与えられたディレクトリを調べ、qpressを使ってすべてのファイルを解凍する次の関数を設定しました。また、プロセスの実行に要した時間も記録します。
fc_decompress () {
startTime="$(date +%s)";
find "$1/" -type f -iname '*.qp' -exec sh -c 'for f in "$@"; do /usr/bin/qpress -d "$f" "$(dirname "$f")" && rm "$f"; done' find-sh {} +
endTime="$(date +%s)";
runTime=$(( ${endTime}-${startTime} ));
echo "Total Run Time: ${runTime}";
}
関数を実行すると:
fc_decompress "${testDir}"
良い結果。しかし、場合によってはこのプロセスに時間がかかる可能性があるため、次のように実行しようとしました。
nohup sh -c 'fc_decompress "${testDir}"' &
ただし、これは機能しなくなり、エラーが発生します。
sh: fc_decompress: command not found
nohup
実行して終了するようにコマンドに関数を渡すにはどうすればよいですか?