#-adsh_path_var command (defines shell variables for handling path names)
- Organization of this page
Format
#-adsh_path_var shell-variable-name[, ... shell-variable-name]
Description
This command defines shell variables for handling path names. This command is enabled when the PATH_CONV_ENABLE parameter is defined in the environment file.
The #-adsh_path_var command can be specified at the following locations only:
-
The line after #!any-character-string on the first line
-
The line after the #-adsh_job command
-
The first line (continuation lines are allowed).
When a shell variable specified by this command is described at the beginning of a path name, the path and directory separators in that path name as defined by the PATH_CONV_ENABLE parameter are converted to the path and directory separators of the target OS.
A text whose leading part matches the shell variable specified in either of the following formats is treated as a path name:
-
$shell-variable-name
-
${shell-variable-name}
Variable names must match completely. If shell-variable-name has a suffix consisting of a letter or the underscore (_), it will be evaluated as not to be a targeted shell variable and will not be converted.
After conversion, if the character string to be converted contains a path separator or directory separator defined by the PATH_CONV_ENABLE parameter, that separator is converted according to the OS under which the job definition script will be executed.
The conversion result depends on whether path conversion rule 1 or path conversion rule 2 was set by the PATH_CONV_RULE parameter. For details about the path conversion rules, see PATH_CONV_RULE parameter (defines a rule for converting file paths) (Windows only). For conversion examples of job definition scripts, see 2.6.2 Converting path names.
Arguments
- shell-variable-name
-
~<environment variable name>((1 to 255 bytes))
Specifies the name of an environment variable that is to be used to define a shell variable for handling path names. A maximum of 255 shell variables can be specified. To use the defined shell variable in a job definition script, is must be specified as $shell-variable-name or ${shell-variable-name}.
For details about pre-defined shell variables and shell variable names that cannot be used, see 5.5 Shell variables.
Return codes
Return code |
Meaning |
---|---|
0 |
Normal termination |
1 |
Error termination |
Notes
-
The conversions specified by this command are performed on a line-by-line basis. For this reason, if there is a linefeed in a job definition script, the path name might not be converted correctly.
In the following example, $DIR1linefeed-code\\bar1\\... is specified in the job definition script, to be converted based on path conversion rule 1 in Linux:
#-adsh_path_var DIR1,DIR2 echo foo > "$DIR1 Not converted because linefeed is entered within "". \\bar1\\"$DIR2\\bar2"bar3" $DIR2\\bar2 is converted to $DIR2/bar2.
In the following example, $DIR1linefeed-code/bar1/... is specified in the job definition script, to be converted based on path conversion rule 2 in Windows:
#-adsh_path_var DIR1,DIR2 echo foo > '$DIR1 /bar1/"$DIR2/bar2"bar3' $DIR2/bar2 is converted to $DIR2\\bar2.
-
Character strings with comments are also subject to conversion.
-
If DELETE is specified for the SPOOLJOB_CHILDJOB parameter, no script images are output in the case of job definition scripts executed as child jobs. For this reason, if a job definition script executed as a child job is converted based on a conversion rule defined by this command, the conversion results will not be output.
-
According to path conversion rule 2, you cannot nest single quotation marks (') within a range enclosed in double quotation marks ("). Single quotation marks specified in such a case will be subject to path conversion.