A simple way to reduce the number of jobs or job chains for shell scripts is to use a generic job, job chain and orders:
Example Job (Windows)
<job order="yes"
stop_on_error="no"
title="This job is a example showing the generic execution of a shell script or a shell command">
<script language="shell">
<![CDATA[
echo %SCHEDULER_PARAM_SCRIPT2EXECUTE%
%SCHEDULER_PARAM_SCRIPT2EXECUTE%
]]>
</script>
<run_time/>
</job>
This job will execute a script or a command that is specfied with the parameter Script2Execute.
Adding this job to a job chain like this:
Example Job Chain
<job_chain orders_recoverable="yes"
visible="yes"
title="ShellExecutor: generic execution of a shell script or shell command">
<job_chain_node state="Step.100"
job="GenericShellExecutor"
next_state="success"
error_state="error"/>
<job_chain_node state="success"/>
<job_chain_node state="error"/>
</job_chain>
will start this job every time an order for the job chain is scheduled like this:
Example for Order
<order>
<params>
<param name="Script2Execute"
value="dir c:\temp"/>
</params>
<run_time let_run="no"/>
</order>