我在CentOS上运行ruby脚本,并通过rvm(1.9.3)安装ruby.
我在.bash_profile中设置了NLS_LANG变量.
[app@box stasis]$ echo $NLS_LANG
en_US.UTF-8
[app@box stasis]$ which ruby
~/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
Run Code Online (Sandbox Code Playgroud)
但是当试图通过ruby(oci8驱动程序)访问它时,它无法找到它:
1.9.3-p194 :001 > ENV['NLS_LANG']
=> nil
Run Code Online (Sandbox Code Playgroud)
访问其他变量似乎工作:
1.9.3-p194 :004 > ENV['USER']
=> "app"
Run Code Online (Sandbox Code Playgroud)
我的脚本显示以下内容: Warning: NLS_LANG is not set. fallback to US7ASCII.
我正在从ruby脚本运行sqlplus(执行一些.sql文件),并且特殊字符都搞砸了.
我怎样才能看到价值?
mpa*_*pis 11
您需要导出变量以在任何运行的应用程序中可用(除非它们是函数):
export NLS_LANG
Run Code Online (Sandbox Code Playgroud)
或与设置一起:
export NLS_LANG=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
或者像大多数系统一样LANG:
export NLS_LANG=$LANG
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9200 次 |
| 最近记录: |