免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 795 | 回复: 0
打印 上一主题 下一主题

linux环境变量(-) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-23 11:29 |只看该作者 |倒序浏览
               
                初次学习lliux对环境变量的知识甚是不解决,特花费一个上午的时间总结了一下,可以说是全面!如各位有更加详细的见解不妨告知!
定制环境变量
环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell。对于Linux来说一般是bash,但也可以重新设定或切换到其它的 Shell。环境变量是通过Shell命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用。对于bash这个Shell程序来说,可 以通过变量名来访问相应的环境变量,通过export来设置环境变量。下面通过几个实例来说明。
1. 显示环境变量HOME
$ echo $HOME
/home/terry
2. 设置一个新的环境变量WELCOME
$ export WELCOME="Hello!"
$ echo $WELCOME
Hello!
3. 使用env命令显示所有的环境变量
$ env
HOSTNAME=terry.mykms.org
PVM_RSH=/usr/bin/rsh
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
...
4. 使用set命令显示所有本地定义的Shell变量
$ set
BASH=/bin/bash
BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")
BASH_VERSION='2.05b.0(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=80
DIRSTACK=()
DISPLAY=:0.0
...
5. 使用unset命令来清除环境变量
set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:
$ export TEST="Test..." #增加一个环境变量TEST
$ env|grep TEST #此命令有输入,证明环境变量TEST已经存在了
TEST=Test...
$ unset $TEST #删除环境变量TEST
$ env|grep TEST #此命令没有输出,证明环境变量TEST已经存在了
6. 使用readonly命令设置只读变量
如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:
$ export TEST="Test..." #增加一个环境变量TEST
$ readonly TEST #将环境变量TEST设为只读
$ unset TEST #会发现此变量不能被删除
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New" #会发现此也变量不能被修改
-bash: TEST: readonly variable
etc/profile对整个系统有效.
确定你使用的是bash
添加
export LANG=zh_CN.GBK
export LC_ALL=zh_CN.GBK
export XMODIFIERS=@im=Chinput
csh的配置可能是
setenv LANG zh_CN.GBK
setenv LC_ALL zh_CN.GBK
setenv XMODIFIERS @im=Chinput
你也可以建立~/.bash_profile文件,在文件中设置
相关的文件还有.bash_logout .bash_login
比如我的.bash_logout指定
clear
每次退出是自动清屏
如何设置Shell环境变量?
Shell
设置
添加
去除
显示当前值
注解
sh
NAME=value1
export NAME
NAME=value2:$NAME
unset NAME
set(internal)或者env(exported)
如果需要子进程也看到该环境变量,需要使用export
ksh
NAME=value1
export NAME
NAME=value2:$NAME
unset NAME
set(internal)或者env(exported)
如果需要子进程也看到该环境变量,需要使用export
csh
setenv NAME value1
setenv NAME value2:$NAME
unsetenv NAME
set
不需要使用export
bash
NAME=value1
NAME=value2:$NAME
unset NAME
set或者env
如果需要子进程也看到该环境变量,需要使用export

               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93926/showart_1874978.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP