LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1608|回复: 4

export LC_ALL=en_US为什么在脚本中执行不起作用?

[复制链接]
发表于 2007-3-29 15:25:44 | 显示全部楼层 |阅读模式
写了一个locale转换的脚本langset,里面用两句来设置locale:

export LANG=en_US
export LC_ALL=en_US

但执行后并不起作用,在脚本里加了echo $LANG,显示修改成功了,这是怎么回事?

环境:mandrake 9.0
发表于 2007-3-29 19:27:19 | 显示全部楼层
请注意环境变量的生命周期,或者说作用域
回复 支持 反对

使用道具 举报

发表于 2007-3-29 21:32:46 | 显示全部楼层
不要直接运行
应该使用以下方法
source xxx

. xxx
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-30 14:38:02 | 显示全部楼层
用一个脚本实现语言的切换难道不行吗?


#!/bin/sh
# language set tools
# set language to zh or us


echo -e "\e[35mPlease select the language you want:\e[0m"

select var in "EN_US" "ZH_CN";
        do break
done

case $var in
        "EN_US")
        source lang_en_us
        ;;
        "ZH_CN")
        source lang_zh_cn
        ;;
esac
       
echo -e "\e[33mset to $LANG\e[0m"
echo -e "\e[33mset to $LC_ALL\e[0m"
回复 支持 反对

使用道具 举报

发表于 2007-3-30 15:51:38 | 显示全部楼层
上面这个脚本
也需要 source 运行

如此麻烦
还不如直接写入 ~/.bashrc, 或 ~/.profile
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表