在linux里怎么设置环境变量啊,用env可以看到所有的环境变量,那什么指令可以改它们啊

jackxiang 2009-12-24 16:52 | |
export
例如:

export $HOME=$HOME:YOUR_DIR

set 显示当前shell的变量,包括当前用户的变量
env 显示当前用户的变量
export 显示当前导出成用户变量的shell变量

每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比如 HOME,SHELL等这些变量,但shell自己的变量不同shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变量可以通过export “导出”变成一个用户变量。

如用户想增加一目录到PATH中,操作如下:

1.vim .bashrc增加sbin目录到PATH中

$export PATH=$PATH:/sbin 或者export PATH=/sbin:$PATH

2.source到环境变量中

$source

3.查验

set|grep PATH 或env|grep PATH 或 export|grep PATH

这个set 和export很重要:
set env export区别

set 显示当前shell的变量,包括当前用户的变量
env 显示当前用户的变量
export 显示当前导出成用户变量的shell变量

每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比如 HOME,SHELL等这些变量,但shell自己的变量不同shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变量可以通过export “导出”变成一个用户变量。

如用户想增加一目录到PATH中,操作如下:

1.vim .bashrc增加sbin目录到PATH中

$export PATH=$PATH:/sbin 或者export PATH=/sbin:$PATH

2.source到环境变量中

$source

3.查验

set|grep PATH 或env|grep PATH 或 export|grep PATH

.bashrc和.bash_profile区别

.bash_profile会用在login shell
.bashrc 使用在interactive non-login shell

Bash下每个用户都可以配置两个初始文件:.bash_profile和.bashrc。man bash中的相关解
释如下:

,------------------------------------------------------------
| ~/.bash_profile
| The personal initialization file, executed for login shells
| ~/.bashrc
| The individual per-interactive-shell startup file
`------------------------------------------------------------

* 每次bash作为login shell启动时会执行.bash_profile。

* 每次bash作为普通的交互shell(interactive shell)启动时会执行.bashrc

** 注意
1, 在shell脚本中“#!/usr/bin/bash”启动的bash并不执行.bashrc。因为这里的bash不是
interactive shell。

2, bash作为login shell(login bash)启动时并不执行.bashrc。虽然该shell也是interactive shell,
但它不是普通的shell。

* 一般.bash_profile里都会调用.bashrc

尽管login bash启动时不会自动执行.bashrc,惯例上会在.bash_profile中显式调用.bashrc。

.bashrc 使用在interactive non-login shell。意思是你每次运行一个bash脚本的话,.bashrc就会被执行一次。有个简单的方法,你在.bash_profile和.bashrc里都用echo打印点什么东西。你就可以看到着两个文件都是什么时候被执行的了.

显示环境变量HOME
  $ echo $HOME
 
设置一个新的环境变量hello
  $ export HELLO="Hello!"
  $ echo $HELLO

使用env命令显示所有的环境变量
  $ env

使用set命令显示所有本地定义的Shell变量
  $ set

还可以使用export设置
如:
    #export DISPLAY=127.0.0.1:0.0

编辑/etc/profile修改全局环境变量

编辑.bash_profile修改当前用户的环境变量

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/2381/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2009-12-24 16:54
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]