linux设置环境变量

Posted 孔令翰-技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux设置环境变量相关的知识,希望对你有一定的参考价值。


title: linux设置环境变量
date: 2020-12-24 15:17:34
tags: [linux]
categories:

  • linux
    abbrlink: linux-profile

我今日就要带佢走,我睇下边个够胆拦我。 ——伍六七 《刺客伍六七》


本文介绍Linux/Unix操作系统下,如何设置变量,以及如何将变量升级为环境变量。

操作变量的命令

查询变量值

echo $PATH ;
echo ${PATH};

设置变量值

foo=bianliang;

等号两边不能有空格,比如下面这样会报错:

foo = bianliang;
foo=bian liang;

如果变量值中有空格,用单引号或双引号括起来

foo = \'bian liang\';

取消变量

unset foo;

$()命令替换

用$()或``包裹命令常用于命令替换

foo=$(uname);
echo $foo; #输出uname命令的返回值,在我的mac上是Darwin

环境变量

普通变量的作用域只局限于当前程序。

通过export命令,可以将普通变量升级为环境变量,环境变量就可以作用于整个操作系统内啦。

export foo;
foo=klhans;
zsh; #进入子程序,我用的是zshell,如果是bash shell的话命令改为bash;
echo $foo; #输出为空,子程序中没有这个变量
exit; #回到父程序
export foo; #设置为环境变量
zsh;
echo $foo; #输出klhans,设置环境变量成功!

也可以在声明变量的同时,升级为环境变量

export foo=hans;

env/export查看环境变量

env;
export;

在我的mac上部分输出如下:

image-20210306142421999

$PATH变量

我们在命令行下运行某个命令的时候,这个命令往往不在当前目录下,那os怎么知道去哪找这个命令呢,总不能搜索所有目录吧。

$PATH变量就是用于保存搜索目录的变量,如果输入的命令不在当前目录下,那么os就会读取$PATH变量对应的目录,依次从目录中寻找命令,如果$PATH变量对应的目录中也没有找到命令,那就说明真的没有这个命令啦

我们可以将常用的命令保存在$PATH变量中,这样就不需要进入特定的目录啦,但是注意不要覆盖系统原有的变量,否则一些系统命令就执行不了啦,比如cd命令

以上是关于linux设置环境变量的主要内容,如果未能解决你的问题,请参考以下文章

Linux程序写入oralce数据库中文显示为问号??? 代码实现设置环境变量!

Linux bash基础特性二

linux环境变量的设置

即使在从python脚本执行linux脚本后,也永久设置环境变量

Linux设置环境变量

linux设置环境变量