Description

A shell is a software that provides an interface for users of an operating system that provides access to the services of a kernel. Operating system shells typically fall into 1 of 2 categories: command line and graphical. Command-line shells provide a command-line interface (CLI) to the operating system, while graphical shells provide a graphical user interface (GUI). In either category, the primary purpose of the shell is to call or start another program. Shells frequently have more capabilities such as viewing the contents of directories.
With the Shell plug-in, you can run custom shell scripts during the deployment process.

Quick Info

Product
HCL Launch
Type
plugin
Compatibility
HCL Launch version 7.0 or later
Created by
HCL Software
Updated Date
December 2, 2021
Version Name Modified date Action

10.1126079

launch-shell-10.1126079.zip 02-Dec-2021 06:04

10.1126864

launch-shell-10.1126864.zip 23-Dec-2021 06:15

9.1101488

launch-shell-9.1101488.zip 16-Mar-2021 12:29

9.1108232

launch-shell-9.1108232.zip 11-Jun-2021 11:21

launch-shell-10.1126079.zip

10.1126079


launch-shell-10.1126864.zip

10.1126864


launch-shell-9.1101488.zip

9.1101488


launch-shell-9.1108232.zip

9.1108232


Summary

The Shell plugin includes steps that run commands on the target system. You can run a command with or without arguments.

This plugin includes one or more steps, click Steps for step details and properties.

Compatibility

This plugin requires HCL Launch version 7.0 or later.

The steps in this plugin run on any agents that the HCL Launch server supports.

Installation

See Installing plugins in HCL Launch for installing and removing plugins.

History

The following table describes the changes made in each plugin version.

Plugin history details
Version Description
9 Minor enhancements

Usage

With the Shell plugin steps, you can run a Shell script as part of the deployment process. The plugin step contains the scripts.

The steps in this plugin wait until the command is complete. For best results, run commands that complete or run the commands in the background. If a command runs indefinitely, the step and the process that contains the step wait indefinitely.

The commands for each step share stdout and stdin streams. If you use a command or script that runs other commands, each of those commands uses the same stdout and stdin stream as the first command or script. The step waits for all commands to finish.

Each step runs in its own shell. For example, if you set a system variable in one step, future steps do not have access to the variable because they are running in a new instance of the shell.

If one shell script calls another shell script, starting a child process, this child process inherits the file descriptors of the parent process, such as input and output streams. If the parent shell script exits but the child process does not, the step continues, waiting for output from the child process. To make sure that the step can end normally, redirect the output and error streams for the child process. For example, if the child process is child.sh, you can redirect the output and error streams with the following code:


child.sh < /dev/null > tempout 2>&1
cat tempout

Step palette

To access this plugin in the palette, click Scripting > Shell.

Steps

The following process steps are available in the Shell plugin.

Shell

Use this step to run a shell or batch script.

Input properties for the cmdname>Shell step
Name Type Description Required
Daemon Boolean If this property is enabled, the command runs in the background while it permits the step to complete immediately. The output is not captured if the command runs as a daemon. No
Directory Offset String The working directory to use when you execute this command. This directory is relative to the current working directory. Yes
Interpreter String The interpreter to use to evaluate the command. If this property is left blank the following platform-specific interpreters are used: Windows:
.bat file interpreter
VMS: .com file interpreter
Other: The shell that is specified by the air/shell agent variable if it is present. Linux and UNIX systems might override this setting by having the command line start with a #! sequence.
No
Output File String Specify this property only if the Daemon property is enabled. The path of the file to which the command output is directed. To discard the output, leave this property blank. The output is captured if an output file is specified. No
Shell Script String The script code to execute. Yes

Shell (with xargs)

Use this step to run a shell or batch script a number of times equal to a multi-valued input.

Input properties for the Shell (with xargs) step
Name Type Description Required
Daemon Boolean If this property is enabled, the command runs in the background while permitting the step to complete immediately. The output is not captured if it runs as a daemon. No
Directory Offset String The working directory to use when you execute this command. This directory is relative to the current working directory. Yes
Interpreter String The interpreter to use to evaluate the command. If this property is left blank the following platform-specific interpreters are used:
Windows: .bat file interpreter
VMS: .com file interpreter
Other: The shell that is specified by the air/shell agent variable if it is present. Linux and UNIX systems might override this setting by having the command line start with a #! sequence.
No
Once Per Arg Boolean Run the script once for each argument in the xargs property. No
Output File String The path of the file to which the command output is directed. To discard the output, leave this property blank. The output is captured if an output file is specified. No
Shell Script String The shell script code to execute. Yes
xargs String The list input value to the script. Separate each value with the delimiter that is specified in the delimiter property. Yes
xargs delimiter String The delimiter that is used to separate the input values to the script. The default delimiter used is the comma (,). Yes