理解及操作环境变量(基于Mac操作)

通过本文,简单的了解环境变量及其操作,与便于遇到相关问题时能够准确快捷的解决。

什么是环境变量

An environment variable is a dynamic-named value that can affect the way running processes will behave on a computer.  --- wikipedia

转成中文大概就是 " 环境变量是一个动态命名的值,这个值能够影响计算机如何运行程序" ,接下来根据例子来理解可能会更好~

当用户在终端里输入某命令并敲下回车键的时候,计算机会在环境变量里指定的路径下查找这个命令对应的文件,并执行该文件以达到运行用户所需的程序,比如:

# 查看环境变量
echo $PATH

# 进入指定的路径下
cd /usr/local/bin

# 查看有哪些node相关的玩意
ls | grep "node"

效果如图:

打开文件夹,发现node是个可执行的文件,其实该文件里包含着node命令所应有内容:

当用户在终端执行node命令的时候,通过环境变量,系统将node命令指向该文件夹,并且执行该文件夹中对应的内容以启动node程序。

为了验证下,这里将node文件改个名,预测当node改名为node_test后,执行node_test命令则便是执行之前的node程序,下面是验证结果图:

# 修改node文件名为node_test
mv node node_test

# 查看有哪些node相关的玩意,发现没有node,变成了node_test
ls | grep "node"

# 执行node命令,提示没这命令
node

# 执行node_test,发现和原先node效果一样,并且能写代码,还能查看版本,一切正常
node_test

node_test -v

效果如图:

通过这么个简单的例子,大致能够知道什么是环境变量,也了解了环境变量是用来干什么的,接下来就看看如何去操作以及如何更好的管理环境变量。

配置环境变量

使用执行命令行进行配置

# 暴露个新变量 NEW_PATH
export NEW_PATH=/usr/lib

# 我们可以通过 $NEW_PATH 变量名查看其值
echo $NEW_PATH 

# 将NEW_PATH追加到PATH变量后面,注意:用:符号分割路径
export PATH=$PATH:$NEW_PATH

效果如图所示:

结果显示ok,正确的追加到了$PATH后...

环境变量的临时修改还可以这么操作,但不推荐,这样的操作重写PATH所有内容:

eval PATH=xxx

效果如图:

基于上面方法添加的环境变量是临时的,重新打开个终端界面,一切都恢复如初~  那么想要让配置的环境变量是永久的该怎么处理呢?我们可以使用把要配置的环境变量写到对应的文件中,系统会在指定的时候执行对应的文件来读取用户配置的命令。

使用文件配置环境变量

Mac OS 默认环境变量的配置文件路径是 /etc/paths ,同时这个文件也是全局的环境变量文件,一般是只读权限的,需要用管理员账号来修改权限,然后写入对应的环境变量值,操作如下:

新开一个终端界面,输出$PATH,效果如图:

通过这样的修改,任何用户进来这台电脑都可以使用指定的全局环境变量(如:/etc/path_test)。

大多数时候不会使用上面的配置去更改全局环境变量,一般都是针对当前登录用户配置的环境变量,那么便应该操作 ~/.bash_profile

举个例子,在~/.bash_profile里加个环境变量

# 在 .bash_profile 里输入
exoprt TEST_PATH=/Users/yeshou
export PATH=$PATH:$TEST_PATH

效果如图:

Mac下的环境变量操作的小例子大致就这么跑了一遍,至此也大致了解环境变量及其操作流程。

最后,我们顺便看看 .bash* 相关都有什么文件:

cd ~
ls -a | grep “bash”

列出来的文件有:

.bash_history (记录bash命令操作的文件)

.bash_profile (系统在登录式操作时执行的环境变量配置文件,如启动系统、远程登录、切换用户)

.bash_sessions (bash会话记录,这是个文件夹,里面包含了每次使用bash所做的操作的文件列表)

.bashrc (系统在交互式和非登录式bash shell操作时读取执行的环境变量配置文件)

平常操作起来都是挺麻溜的,在整理成文章的时候还是会遇到不少问题,这也反映出平常大多停留在使用的阶段,没停下来去思考去理解… 通过写文章总结和整理知识点,会发现日常的理解或操作很多有不是那么合适的地方,发现后去改正,这样才会有进步~

时间: 2024-10-16 08:20:54

理解及操作环境变量(基于Mac操作)的相关文章

c# 获取相对路径,操作环境变量.

c# 获取相对路径,操作环境变量. 一.获取当前文件的路径 1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName // Get the current directory. string path = Directory.GetCurrentDirectory(); 获取模块的完整路径,包括文件名. 2. System.Environment.CurrentDirectory 获取和设置当前目录(该进程从中启动

Linux下C程序设计(4)----操作环境变量 、程序传递参数getopt getopt_long操作、获取时间

通过命令传递参数查看环境变量  /************************************************************************* > File Name: env.c > Author: > Mail: > Created Time: Tue 24 Feb 2015 10:42:21 PM PST *******************************************************************

重生第一天:环境变量和文件操作

总结一下今天的知识点吧. 1,在/etc/profile中,设置了HLTT=1,注意不是export HLTT=1.机子启动后,echo不到HLTT,source /etc/profile后,echo $HLTT 显示1. 注意:ehco出来并不代表是环境变量,不使用export 仅仅就是个变量.env,getenv是得不到HLTT这个值的. 2,find命令总是忘记: 在linux查找目录 find / -type d -name dirname 或 find -name "ti" 

python操作环境变量

使用os.environ来读取和修改环境变量: import os print (os.environ["TEMP"]) mydir = "c:\\mydir" os.environ["MYDIR"] = mydir print (os.environ["MYDIR"]) pathV = os.environ["PATH"] print (pathV) os.environ["PATH"

环境变量及文件操作和查看命令(cp,mv,cat,more,less,head,tail)

环境变量PATH 系统默认的环境变量PATH [[email protected] ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin 给环境变量PATH临时赋值 [[email protected] ~]# PATH=$PATH:/tmp/ 给环境变量PATH永久赋值 [[email protected] ~]# vi /etc/profile 最后加入PATH=$PATH:/tmp/ which

django os.environ慎用setdefault操作环境变量

在绝大多数情况下,如果需要在程序运行过程中设置环境变量,使用os.environ.setdefault函数是没有任何问题的,但是有两种场景下setdefault会造成意外的问题,需要慎用: 如果程序执行前,系统里已经存在了某环境变量(如ENV=VAL1),此时如果在程序中用setdefault函数对该环境变量设置另一个不同的值(如VAL2),会因为setdefault函数的特性导致无法设置为新值也是因为上述这一点,如果进程A先设置了环境变量(如ENV=VAL1),而A启动了子进程B,子进程B会继

新手理解的bash环境变量解析漏洞

p{ line-height:150%; font-size:18px; font-family:fangsong; margin-top:20px; } pre {font-size:15px; background-color:black; color: white;font-family: sans-serif } #refer{background-color:gray;} h1 {font-family:simhei;} 1 环境变量是什么 无论是Windows程序还是Linux程序,

EXCEL自定义符合自己习惯的操作环境及办公入门操作视频课程

课程目标Office软件默认的工作环境都是一样的,但默认的工作环境可能并不适合每个用户的使用习惯.为了更加高效地完成工作,通过本课程的学习,熟悉Excel2013定制操作环境的功能以及Excel办公入门操作.适用人群电脑爱好者.所有职场人士课程简介Office软件默认的工作环境都是一样的,但默认的工作环境可能并不适合每个用户的使用习惯.为了更加高效地完成工作,通过本课程的学习,熟悉Excel2013定制操作环境的功能. 第一章 Excel2013操作环境概述及布局模式更改.第二章 如何隐藏屏幕提

Qt安装后配置环境变量(Mac)

打开终端需要打开配置文件(注意这里不是bash_profile而是 .bash_profile,我开始少了".") 如果bash_profile文件不存在,就会自动创建,然后需要输入以下内容: 然后保存退出,然后输入source ~/.bash_profile使得这个文件生效. 然后退出终端重新运行,输入 然后就能看到环境变量有Qt的路径,我这里有其他的路径,请自己细看找到Qt的路径,嘻嘻. 然后输入qmake -v就能看到当前Qt的版本,这就表示环境变量已经配置好了.