-1

我需要为 Oracle 编码配置更改环境变量 $NLS_LANG。我按照以下步骤操作:

  1. 打开 /etc/profile 文件。
  2. 在文件中添加了“export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P9”行

当我尝试时;

回声 $NLS_LANG

但是控制台在执行后打印了旧变量:

. /etc/profile

控制台正确打印了变量的最后分配值。

这种情况的主要问题是,当我打开一个新控制台并执行 echo 命令时,控制台仍会打印 $NLS_LANG 变量的旧值。

那么,在 Solaris 上持久化环境变量的正确方法是什么?
谢谢...

ps: Solaris 版本是-> 5.10。

4

3 回答 3

1

.profile 只能由登录 shell 读取。因此,您必须使用- as 第一个参数启动您的 shell 以强制登录 shell(或者,如@cnicutar 建议的那样,注销/登录)。

作为替代方案,您可以将分配放入在“正常”(交互式)调用时读取的文件中,例如,.kshrc在 Korn Shell 的情况下。

于 2013-02-25T09:47:24.500 回答
0

/etc/profile使用用户登录时会加载其中的环境变量。因此,如果您不注销并再次登录,$NLS_LANG则不会加载。

如果您现在不想登录,您可以做的是EXPORT使系统加载新值:

NLS_LANG="new value"
export $NLS_LANG

或直接

export NLS_LANG="new value"
于 2013-02-25T09:48:29.320 回答
0

您需要.profile在主目录中添加导出文件。请 export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P9在您的/home/folder/.profile文件中使用。这样每次登录时,都会配置变量。

于 2013-02-25T09:54:21.313 回答