linux中如何修改某用户的语言环境变量

linux中如何修改某用户的语言环境变量

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

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

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

LANG=
换成
exoprt LC_ALL=
更好。