You can set up Automate Schedule so that it uses the csh/tcsh shell for running jobs, regardless of what shell runs the UNIX/Linux system. Note that the Automate Schedule agent itself should not run under the csh/tcsh shell. However, the agent can be configured to use csh or tcsh as the default shell for all jobs or on a per job basis. 

Configuring Skybot Scheduler to Use CSH/TCSH

Set up an agent to use csh/tcsh as the default job shell

This sets up csh/tcsh as the job shell for all jobs and member jobs. If you want to use it on a per job basis, see the next section.

  1. Click Agents in the main menu to view the Agents list page.
  2. Right-click the agent you want to work with and select Edit Agent.
  3. Click [EDIT] by the General section.
  4. Type either "csh" or "tcsh" in the Job Shell field.
  5. Click Save. The Agent will now execute all job commands in the shell you entered in step 4.

Set up an individual job or member job to use a different shell

You can set up an agent environment with a special environment variable, PROCESS_SHELL, that will signal to the agent which shell to use for executing the job's commands.

  1. Go to either Jobs > Individual Jobs or Jobs > Member Jobs.
  2. In the list, right-click the job and select Edit Job > Job or Edit Member Job > Member Job.
  3. Click [EDIT] by the Agent Environment section.
  4. Click Add Variable under Environment Variables.
  5. Use "PROCESS_SHELL" for the Name and set the Value to the shell you want the job's commands to execute in (for example: "csh").

    Creating the PROCESS_SHELL environment variable
  6. Click Save.

Note: You can create a shared agent environment with this variable already in it. Go to Objects > Agent Environments. Click Create Agent Environment. Then, create the environment using the variable described in the above steps. You can then use this shared environment in jobs and member jobs that you want to run in the shell you set.

Other Considerations

Handling longer commands

Some implementations of csh are limited to around 255 characters on a single command line. To use a longer command in an interactive csh terminal session, you'd normally find a good place that's less than 255 characters in from the beginning of the command to insert a "\" character, press Enter, and then continue the command on the next line in the terminal. When using csh/tcsh as the job shell in Automate Schedule, you can accomplish this by inserting "{cshnewline}" where the command is to be broken, and then just continuing the command on the same job command line. See the following example.

This is a command that could be used in a csh interactive terminal:

$ echo Here, there \
? and everywhere.
Here, there and everywhere.

This is the same command using csh in an Automate Schedule job:

echo Here, there {cshnewline}and everywhere.

Automate Schedule command types

Most Automate Schedule command types are supported when the job is running under csh/tcsh with these exceptions:

  • The Oracle Concurrent Request command will not work from csh/tcsh.
  • The Informatica Workflow command may fail if longer strings are used in the Parameter List section.

Environment variables and Automate Schedule agent event data restrictions

Some csh implementations do not allow for long environment variables (either in the name or the value). Automate Schedule cannot work around these restrictions when processing the agent environment while executing a job. Because of this, you could run into instances where an Automate Schedule job using an agent event monitor as a prerequisite will end as Failed because the agent event data is too long to be set as an environment variable when the job executes. 

Still have questions? We can help. Submit a case to Technical Support.

Last Modified On: October 24, 2019