赛迪网 > IT技术 Linux > 系统管理
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

Linux系统中如何修改某用户语言环境变量

发布时间:2008.03.05 06:08     来源:赛迪网    作者:korn

在所管理的服务器上,有的可以在终端里面输入汉字,有的不行,会显示乱码。比较其相对应的环境变量。发现关于语言的环境变量不一样。在网上搜索了大量的资料,没有找到解决的方法。看了鸟哥书中相关的部分才找到解决的方法。(网络上的信息量太大,有时会浪费大量的时间,还是没有找到自己想要的)

把掌握的方法和道理记录下来。

bash shell的配置文件:

/etc/profile用于设定几个重要变量,例如PATH,USER,MAIL,HOSTNAME,HISTSIZE, UMASK等。

-bash-3.00# more /etc/profile
# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
}

# Path manipulation
if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi

pathmunge /usr/X11R6/bin after


# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

USER="`id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"

HOSTNAME=`/bin/hostname`
HISTSIZE=1000

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
INPUTRC=/etc/inputrc
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC

for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
. $i
fi
done

unset i
unset pathmunge

/etc/bashrc :用于规划umask,同时规划提示符的内容。

-bash-3.00# more /etc/bashrc
# /etc/bashrc

# System wide functions and aliases
# Environment stuff goes in /etc/profile

# by default, we want this to get set.
# Even for non-interactive, non-login shells.
if [ "`id -gn`" = "`id -un`" -a `id -u` -gt 99 ]; then
umask 002
else
umask 022
fi

# are we an interactive shell?
if [ "$PS1" ]; then
case $TERM in
xterm*)
if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm
else
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"'
fi
;;
screen)
if [ -e /etc/sysconfig/bash-prompt-screen ]; then
PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
else
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\033\\"'
fi
;;
*)
[ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=/etc/sysconfig/bash-prom
pt-default
;;
esac
# Turn on checkwinsize
shopt -s checkwinsize
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
fi

if ! shopt -q login_shell ; then # We're not a login shell
for i in /etc/profile.d/*.sh; do
if [ -r "$i" ]; then
. $i
fi
done
unset i
fi
# vim:ts=4:sw=4
alias ls="ls --color"

设定后,需要注销再登录才能起作用。

个人设定值:

~/.bash_profile个人路径与环境变量的文件名称。

-bash-3.00# more .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME
LANG=zh_CN.gbk

~/.bashrc:重要的个人设定文件

-bash-3.00# more .bashrc
# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi 

~/.bash_history:这个文件记录曾经使用过的命令。

修改个人用户的语言环境变量可以修改.bashrc或者.bash_profile.

-bash-3.00# env
HOSTNAME=example

.............
LANG=en_US.UTF-8 


修改后:

QUOTE: 
-bash-3.00# env
HOSTNAME=example

.............
LANG=en_US.UTF-8

LANG=zh_CN.gbk

终端乱码问题得到解决。

(责任编辑:云子)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Linux服务器维护 统计连接数查看外部IP (03-04) · 在Linux系统下播放网页中的背景音乐技巧 (03-04)
· Sun:收购MySQL是软件史第一大并购案 (03-03) · Linux操作系统下生成临时文件的两个方法 (03-03)
· 静态库和动态库 Linux系统程序设计之路 (03-03) · 在Linux操作系统下MONO执行C#程序的方法 (03-03)
· Tor中继服务器在Linux里安装配置的流程 (03-03) · Windows XP下从硬盘安装Fedora 8的方法 (03-03)
· VirtualBox下共享文件设置(host linux) (03-03) · Linux系统下安装VMware虚拟机的过程详解 (03-03)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 整合平台模式多样化 多卡合一模式渐成主流
· 网店征税步入倒计时 电子商务或将重新洗牌
· 谈八大厂商的“云计算”理念 信息化监理
· 企业短信平台解决方案 方正智思系统软件
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统