2013-02-25 51 views
-1

我需要爲Oracle編碼配置更改環境變量$ NLS_LANG。 我遵循的步驟:在Solaris上持久保留環境變量

  1. 打開/ etc/profile文件。
  2. 增加了 「出口NLS_LANG = AMERICAN_AMERICA.WE8ISO8859P9」 行到文件

當我試圖;

回聲$ NLS_LANG

但是控制檯打印舊的變量,執行後:

。/etc/profile

控制檯正確打印上次分配的變量值。

這種情況的主要問題是,當我打開一個新的控制檯並執行echo命令時,控制檯仍然打印$ NLS_LANG變量的舊值。

那麼,在Solaris上保持環境變量的正確方法是什麼?
謝謝...

ps:Solaris版本是 - > 5.10。

+1

除非你有一個更具體的文件導出,我認爲你只需要註銷並重新登錄。 – cnicutar 2013-02-25 09:04:18

+0

你在用什麼外殼?如果它在Solaris 10(SunOS 5.10)上爲/ bin/sh,則不支持'export VARIABLE = value',您需要使用'VARIABLE = value;導出VARIABLE'。在Solaris 11及更高版本中,導出的'VARIABLE = value'語法在ksh,bash和(因爲它是ksh93)/ bin/sh中起作用。 – alanc 2013-02-25 23:17:27

+0

@alanc我正在使用ksh。 – 2013-02-26 09:07:24

回答

1

.profile只能被登錄shell讀取。因此,你必須以-作爲第一個參數來啓動你的shell來強制一個登錄shell(或者,如@cnicutar建議的,註銷/登錄)。

作爲一種替代方法,您可以將您的任務放入以「普通」(交互式)調用讀取的文件中,例如在Korn Shell中爲.kshrc

0

當您與用戶一起登錄時,會加載/etc/profile中的環境變量。因此,如果您不註銷並再次登錄,$NLS_LANG將不會被加載。

如果你不想現在登錄,你可以做的是使用EXPORT,使系統加載新的值:

NLS_LANG="new value" 
export $NLS_LANG 

或直接

export NLS_LANG="new value" 
0

您需要添加將您的.profile文件導出到您的主目錄中。請在您的/home/folder/.profile文件中使用 export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P9。這種方式每次登錄時,變量都會被配置。