我用 Linux

环境变量-Linux

2016-03-06  本文已影响125人  AwesomeAshe

(shell) 变量

declare <var_name>  //定义
tmp=shiyan  //赋值
echo $tmp   //打印值

环境变量

$ temp=hello
$ echo $temp
hello                   //得到值
$ zsh               //创建子进程
$ echo $temp    
                        //无输出
$exit           
$export temp    //将temp导出为环境变量
$zsh                    
$echo $temp
hello                   //设为环境变量后temp有效

PATH##

我们经常在shell中输入一个命令然后就开始执行,但是shell是如何从 电脑里面找到这条指令的呢?
shell是通过环境变量PATH来进行搜索的,同样的在win里面也有这个PATH环境变量,这个PATH保存了shell中执行的命令的搜索路径

echo $PATH          //查看path的内容

通常会得到:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

我们可以看到,基本都是bin或者sbin路径,这种路径下都是二进制可执行文件。
系统会按照path中设定的路径按照顺序依次到目录中去查找,如果存在同名的命令,则执行先找到的那个。

添加与删除PATH路径##

如果我们有一个自定义的路径/home/user/mybin 我们想把这个路径添加到PATH以便于直接在shell中执行这个命令,添加方式:

$PATH=$PATH:/home/user/mybin

但是到这里还有一个问题:我们添加的这个路径只在当前shell下有效。
如何是添加的环境变量全局有效?

在每个用户的home目录中有一个shell每次启动时会默认执行一个配置脚本,以初始化环境,包括添加一些用户自定义环境变量等等。
这个配置文件是.zshrc 相应的bash配置文件为.bashrc
我们只需要修改.zshrc就可以了

echo "PATH=$PATH: /home/user/mybin" >> .zshrc

上述命令中>> 表示将输出以追加的方式重新定向到一个文件中
前面提到的> 是以覆盖的方式重定向

让环境变量立刻生效:

$ source .zshrc
上一篇 下一篇

猜你喜欢

热点阅读