Case conversion
All lowercase characters are converted by z/VM® to uppercase. To compensate for this effect, the console device driver converts all input to lowercase.
For example, if you type VInput VMSG echo $PATH
,
the device driver gets ECHO $PATH
and converts it
into echo $path
.
Linux® and bash are case-sensitive and require some specifications with uppercase characters. To include uppercase characters in a command, use the percent sign (%) as a delimiter. The console device driver interprets characters that are enclosed by percent signs as uppercase.
This behavior and the delimiter are adjustable at build-time by editing the driver sources.
Examples
In the following examples, the first line shows the user input. The second line shows what the device driver receives after the case conversion by CP. The third line shows the command that is processed by bash.
-
#cp vinput vmsg ls -l CP VINPUT VMSG LS -L ls -l ...
- The following input would result in a bash command that contains
a variable $path, which is not defined in lowercase:
To obtain the correct bash command enclose the uppercase string with the conversion escape character:#cp vinput vmsg echo $PATH CP VINPUT VMSG ECHO $PATH echo $path ...
#cp vinput vmsg echo $%PATH% CP VINPUT VMSG ECHO $%PATH% echo $PATH ...