You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

h1. Passing parameters to shell-scripts

User defined Parameters in Shell-Scripts


Job parameter and order params are accessible by the use of environment variables. There is a rule for the name of such an environment variable. The name of the environment variable according to a parameter is SCHEDULER_PARAM_NAMEOFPARAM. For example the job parameter param1 is available by the environment variable SCHEDULER_PARAM_PARAM1 (always in upper case letters).

Sample

 <job>
    <params>
        <param name="param1"  value="Test"/>
    </params>
    <script language="shell">
        <![CDATA[
 rem This is a sample shell script to demonstrate the use of parameters
 echo Param1 has the value %scheduler_param_param1%
        ]]>
    </script>
    <run_time/>
 </job>

for Linux

 <job>
    <params>
        <param name="param1" value="Test"/>
    </params>
    <script language="shell">
        <![CDATA[
 # This is a sample shell script to demonstrate the use of parameters
 echo Param1 has the value $SCHEDULER_PARAM_PARAM1
        ]]>
    </script>
    <run_time/>
 </job

If you want to use the parameters as parameters for a script in the command-line just append the Names to the Scriptname:

  anyshellscript.sh $SCHEDULER_PARAM_PARAM1 $SCHEDULER_PARAM_PARM2 ...

Setting Parameter in Shell-Scripts and put them to the next node in job chains.


At every change of status in job chains Job Scheduler parses a temporary file for "namh1. value" pairs. The "namevalue" pairs will be set as order params. The name of the temporary file is available with the environment variable SCHEDULER_RETURN_VALUES.

First Job

 <job order="yes"
     stop_on_error="no">
    <params>
        <param name="param1"  value="Test"/>
    </params>
    <script language="shell">
        <![CDATA[
 rem This is a sample shell script to demonstrate the use of parameters 
 echo newParam=a sample value >> %scheduler_return_values%
        ]]>
    </script>
    <run_time/>
 </job>

Second Job

 <job order="yes"
     stop_on_error="no">
    <params>
        <param name="param1" value="Test"/>
    </params>
    <script language="shell">
        <![CDATA[
 echo newParam has the value %scheduler_param_newParam%
        ]]>
    </script>
    <run_time/>
 </job>

Job Chain

 <job_chain>
    <job_chain_node state="100"
                    job="job_sample_shell_with_parameter"
                    next_state="200"
                    error_state="error"/>
    <job_chain_node state="200"
                    job="job_sample_shell"
                    next_state="success"
                    error_state="error"/>
    <job_chain_node state="success"/>
    <job_chain_node state="error"/>
 </job_chain>

related downloads:

see also:

  • No labels