Mac终端配置环境变量(Mac、Linux操作系统通用)

1. 添加环境变量

  环境变量这个东西,大家应该不陌生,但是对于初步解除计算机的同学而言,或许是个让人头疼的东西。
  为什么有时候需要设置环境变量呢?
  回顾一下我们的编程经验。在我们开发好程序之后,首先要对程序进行编译(编译和链接),生成可执行文件。我们运行这个可执行文件的时候,通常我们的做法是,先进入到这个可执行文件所在的目录中,再运行。如果没有进入到这个目录,由于你的终端找不到可执行文件,就无法运行这个程序。
  不进入到该目录就一定无法运行么?前边说,终端找不到这个程序,那么我们如果告诉终端怎么去找,是不是就可以了呢?答案是肯定的。我们设置环境变量,其实就是在告诉终端去哪里寻找我们需要的程序。这样,就不需要每次都进入到可执行文件存放的目录中去了。其实,我们安装的很多大型软件,和我们自己开发的很简单的程序本质上没有什么差别,无非规模大小、复杂程度不同,可能很多程序在源码的基础上做了一些打包。安装的很多大型软件,也有存放诸多可执行文件的目录,只不过大部分人很少去在意它存放在哪里,而且他们的文件结构可能会很复杂,如果不设置环境变量,我们就无法流畅的使用软件所提供的服务。
  在开发的过程中,经常会有需要添加环境变量的地方,大家可能会遇到过这种情况:已经添加过环境变量,但是在(关闭后)重新打开终端的时候,这些环境变量又失效了,需要重新添加。如下所述:(以使用PostgreSQL为例,可以推广至其他类似应用场景)。电脑中已经安装了PostgreSQL,想在终端中通过客户端连接命令psql连接到数据库,但是在执行的时候会遇到如下图所示找不到命令的情况。
未添加环境变量时命令执行结果
  安装了数据库但是无法使用psql命令,这是因为没有配置环境变量的缘故。在无论在其他Linux操作系统还是Mac,使用终端的时候,我们执行的命令,都是一些可执行文件(或者它们的软连接),想要能够直接使用这些命令,就需要将这些可执行文件的存储路径添加到$PATH中,也就是设置PATH环境变量。通常可以将新的可执行文件路径添加到PATH中,这种适用于可执行文件不多的情况;也可以在原有的PATH目录下,添加一个软链接,指向新的可执行文件,这种适用于可执行文件比较少的情况。这里由于PostgreSQL中的工具较多,因此是采用直接将添加环境变量的方法:

export PATH=$PATH:/Library/PostgreSQL/13/bin
#这里的安装路径视个人安装情况而定

  之后在终端输入echo $PATH
  可以看到当前路径的环境变量中已经有了刚才添加的部分。

  于是,带着激动喜悦的心情,在终端敲下一串命令:

psql -h localhost -p 7263 postgres postgres
#这是连接PostgreSQL数据库的方法,和MySQl的类似,-h参数接主机,-p接端口号,随后是数据库名和用户名

  Bingo!成功进入数据库!
psql命令执行成功
  问题似乎是解决了,但是再次打开终端,相同的情况又出现了,熟悉的Command not found……配置好的环境变量似乎失效了。

2.为什么之前配置的环境变量失效了呢?

  回顾之前了解到的添加环境变量的方法:

1.直接使用export命令,就像上边的一样,但是这种设置的只是临时的环境变量,一旦终端关闭,再重新打开之后就失效了。有些环境变量我们只是暂时需要,可以设置为临时的,设置完我们就不用再考虑删除环境变量的问题,关闭终端它就自动失效了。上述出现的问题就是这种情况。
2.更改相关文件,如profile.bashrc.zshrc等。将需要设置的环境变量写入相关文件(视具体情况而定,不同机器可能会有所不同,如centos中一般为.bashrc),再重启终端或者使用source命令重新执行一下对应文件,之后每次终端启动时,都会自动检测并使用文件中添加的环境变量。这种方法设置的环境变量是永久的。

  这就给我们提供了一种更为稳定的解决方案:

#在终端输入以下命令
vi .zshrc
#在2020款Mac中,zsh的配置文件是.zshrc
#之后在文件中添加下一行内容
export PATH=$PATH:/Library/PostgreSQL/13/bin
#之后每次打开终端,环境变量都会生效

3. 关于Mac中的shell版本不同,终端使用的配置文件也有差异,修改对应的文件即可

  从 macOS Catalina 版(Mac OS10.15,2019年10月正式上线)开始,Mac 将使用 zsh 作为默认登录 Shell 和交互式 Shell,在此之前,Mac中使用的默认shell是bash。所以目前只有系统Catalina和其之后的Big Sur默认shell为zsh。这也就不难解释很多前辈给的解决方案是在设置环境变量

export PATH=$PATH:/Library/PostgreSQL/13/bin

之后执行

echo ‘source ~/.bash_profile’ >> ~/.zshrc

  这里的.bash_profile也可能是.bashrc.zprofile。执行完该条语句之后,我们会发现.zshrc文件的最后多了source ~/.bash_profile,这样每次zsh启动都会执行这条语句。
  通常很多Linux中的终端默认的shellbash,这种shell对应的配置文件名往往是.bashrc,当然,如果我们想,我们也可以安装zsh。在我的2020款Mac中已经找不到bash相关的配置文件了,所以这个解决方案无法适配以zsh作为默认shell的Mac。在较新版本的Mac中,打开.zshrc文件,在其中添加环境变量即可。
  这里,我们使用系统中已有的配置文件,是为了方便进行管理,其实,我们也可以自己创建配置文件,自己命名,在我们使用的时候,使用前述的source命令,激活即可。通常使用以点.开头的文件,是因为这种文件通常会隐藏起来,可以防止无意间修改或者删除掉,有一定的保护作用。使用多了,我们就会发现,在Linux中不像windows中一样,文件的查看、使用,不受那么多后缀名或者说是文件格式的限制。查看和修改,也都极为方便。例如:

# 创建自己的配置文件,名为my.profile,这里默认在用户主目录下,如有变动,相应修改即可
touch my.profile
# 添加环境变量,
echo 'export PATH=$PATH:/Library/PostgreSQL/13/bin' >> my.profile

# 此时,文件中已经有了环境变量,使其生效
source my.profile

# 但是,它也只会在当前的会话窗口中生效
# 想要每次启动都会生效,我们需要将这些环境变量间接添加到默认终端启动生效的配置文件
echo 'source my.profile' >> .zshrc

4. 总结

  在添加环境变量时,我们应当注意我们是需要临时使用这些变量还是永久使用;如果是永久的,我们需要根据自己电脑的实际情况(如shell版本情况)作相应的更改。

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Mac系统上配置环境变量和JDK可以按照以下步骤进行: 1. 打开终端:你可以通过在Launchpad中搜索并打开“终端”应用程序,或者使用快捷键Command + Space并输入“终端”来打开。 2. 确定Java安装位置:在终端中输入以下命令,查看是否已经安装了Java以及其安装位置: ``` java -version ``` 如果已经安装了Java,你将看到Java的版本信息。如果没有安装,你可以前往Oracle官网下载并安装适合你的Mac系统的JDK。 3. 配置环境变量:在终端中输入以下命令,打开你的bash配置文件(一般是`.bash_profile`或`.bashrc`): ``` nano ~/.bash_profile ``` 如果你的配置文件不存在,会自动创建一个新的。 4. 添加环境变量:在打开的配置文件中,添加以下行来设置JAVA_HOME和PATH环境变量: ``` export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH ``` 注意:上述路径是示例路径,你需要根据你实际安装的JDK版本和路径进行修改。 5. 保存并退出:按下Control + X,然后按下Y键保存修改,最后按下Enter键退出nano编辑器。 6. 使环境变量生效:在终端中输入以下命令,使刚才的环境变量生效: ``` source ~/.bash_profile ``` 环境变量就会立即生效。 7. 验证配置:在终端中输入以下命令,验证Java和Javac命令是否可以正常使用: ``` java -version javac -version ``` 如果显示了Java和Javac的版本信息,则说明配置成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你若向前

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值