在Solaris上保留环境变量

时间:2013-02-25 09:02:56

标签: unix environment-variables solaris

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

  1. 打开/ etc / profile文件。
  2. 在文件中添加“export NLS_LANG = AMERICAN_AMERICA.WE8ISO8859P9”行
  3. 当我尝试时;

      

    echo $ NLS_LANG

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

      

    。的/ etc /简档

    控制台正确打印最后指定的变量值。

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

    那么,在Solaris上保留环境变量的正确方法是什么?
    感谢...

    ps:Solaris版本是 - > 5.10。

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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

NLS_LANG="new value"
export $NLS_LANG

或直接

export NLS_LANG="new value"

答案 2 :(得分:0)

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