编译器和运行时环境变量

COBOL Linux® 使用以下编译器和运行时通用的环境变量。

DB2DBDFT
指定要用于包含嵌入式 SQL 语句 或使用 Db2® 文件系统的程序的数据库。
DBCS_CODEPAGE
指定适用于 DBCS 数据的 DBCS 代码页,包括 DBCS 文字和 DBCS 数据项。
要设置 DBCS 代码页,请发出以下命令,其中 codepage 是 Unicode 国际组件 (ICU) 转换库支持的 DBCS 代码页的名称,例如 IBM-943 或 IBM-EUCjp:
export DBCS_CODEPAGE=codepage
如果未设置 DBCS_CODEPAGE ,那么将使用与当前语言环境关联的缺省 DBCS 代码页。
LANG
指定语言环境 (如有关使用环境变量来指定语言环境的相关任务中所述)。 LANG 还会影响 NLSPATH 环境变量的值,如下所述。

例如,以下命令将语言环境名称设置为 U.S。 中文:


export LANG=en_US
LC_ALL
指定语言环境。 使用 LC_ALL 的语言环境设置将覆盖使用 LANG 或任何其他 LC_xx 环境变量的任何设置 (如有关使用环境变量来指定语言环境的相关任务中所述)。
LC_COLLATE
指定语言环境的整理行为。 如果指定了 LC_ALL ,那么将覆盖此设置。
LC_CTYPE
指定语言环境的代码页。 如果指定了 LC_ALL ,那么将覆盖此设置。
LC_MESSAGES
指定语言环境的消息语言。 如果指定了 LC_ALL ,那么将覆盖此设置。
LC_TIME
确定日期和时间格式信息的语言环境。 如果指定了 LC_ALL ,那么将覆盖此设置。
ld_library_path
指定要用于 EXIT 编译器选项已标识的共享库和用户定义的编译器出口程序的目录路径。
NLSPATH
指定消息目录和帮助文件的完整路径名,并使用格式 directory_name/%L/%N,其中 %L 由 LANG 环境变量指定的值替代。 %N 将替换为消息目录名称。

COBOL for Linux 将编译器消息目录安装到 /opt/ibm/cobol/1.2.0/usr/share/locale/xx ,将运行时消息目录安装到 /opt/ibm/cobol/rte/usr/share/locale/xx ,其中 xxCOBOL for Linux 支持的任何语言。 缺省值为 en_US。

设置 NLSPATH 时,请确保将其添加到 NLSPATH ,而不是将其替换。 其他程序可能使用此环境变量。 例如:


DIR=xxxx
NLSPATH=$DIR/%L/%N:$NLSPATH
export NLSPATH

xxxx 是安装 COBOL 的目录。 xxxx 目录必须包含 xxxx/en_US 目录(如果是 U.S. 英文设置),其中包含 COBOL 信息目录。

产品随附以下语言的消息:

zh-cn
英语
ja_JP
日语

您可以以不同方式指定消息和语言环境设置的语言。 例如,可以将环境变量 LANG 设置为 en_US ,并将环境变量 LC_ALL 设置为 ja_JP.eucjp。 在此示例中,任何 COBOL 编译器或运行时信息都将使用英语,而程序中的本地 ASCII (DISPLAYDISPLAY-1) 数据将被视为以代码页 ja_JP.eucjp (日语 EUC 代码页) 编码。

编译器使用 NLSPATH 和 LANG 环境变量值的组合来访问消息目录。 如果 NLSPATH 已有效设置,但 LANG 未设置为上例所示的某个语言值,则会生成一条警告消息,编译器默认使用 en_US 消息目录。 如果 NLSPATH 值无效,那么将生成终止错误消息。

运行时库还使用 NLSPATH 来访问消息目录。 如果未正确设置 NLSPATH ,那么运行时消息将以缩写形式出现。 编译器和运行时都自动管理 NLSPATH ,因此您不需要自己处理 NLSPATH。

TMPDIR
指定编译器和运行时使用的临时工作文件的位置。 如果未设置此值,那么缺省为当前目录。

例如:


export TMPDIR=/tmp
时区
描述语言环境要使用的时区信息。 TZ 具有以下格式:

export TZ=SSS[+|-]nDDD[,sm,sw,sd,st,em,ew,ed,et,shift]

如果 TZ 不存在,那么缺省值为缺省语言环境值 EST5EDT。 如果仅指定标准时区,那么 n (与 GMT 的小时差) 的缺省值为 0 而不是 5。

如果为任何 smswsdstemewedetshift提供值,那么必须为所有这些值提供值。 如果其中任何值无效,那么整个语句将被视为无效,并且不会更改时区信息。

例如,以下语句将标准时区设置为 CST ,将夏令时设置为 CDT ,并将 CST 与 UTC 之间的差值设置为 6 小时。 它不会为夏令时的开始和结束设置任何值。


export TZ=CST6CDT

其他可能的值为 PST8PDT (对于太平洋美国) 和 MST7MDT (对于山地美国)。