Mac下设置环境变量

Mac配置环境变量

前言

以往的开发环境都是Win10,如今切换Mac之后,一些环境就不是一些界面能解决的了,这里简单做一个记录。

1. 关于mac的配置文件,这里引用我参考的一篇博客

Mac系统下的环境变量(权限嵌套排列,如同层叠样式表):

a. /etc/profile

b. /etc/paths

c. ~/.bash_profile

d. ~/.bash_login

e. ~/.profile

f. ~/.bashrc

其中a和b是系统级别的,系统启动就会加载,其余是用户接别的。c,d,e按照从前往后的顺序读取,如果c文件存在,则后面的几个文件就会被忽略不读了,以此类推。~/.bashrc没有上述规则,它是bash shell打开的时候载入的。

一般配置到全局变量的文件都属于应用程序(其他的貌似没有必要配置)。我个人更愿意把变量写到bashrc里,不过如果配置到了bashrc里,再要用ide的terminal去运行它,理论上是跑不起来的,还是按照大多数人的走法去配置到bash_profile里的好。

简单说两句

虽然第一次玩mac,不过Linux可是玩过不少,有两个规范是我所明白的。

  1. 在所有路径的引用里我们习惯从根目录开始引用起来,当前位置是活的,但是根目录开始一定是我们通用的。
  2. 如果文件不存在,大可以直接再创建一个,这些文件都是被程序指定好的名字,有了就用,没有就用默认的。

嗯,这里我也是用maven做演示(为什么要用「也」)

在做这一步的时候又遇到了一个关于Operation not permitted的问题。事情是在我装maven的时候,我考虑一些规范问题,决定把下载下来的maven包拷贝到/usr目录下,在这一步报了错,问题是因为有一个超级权限锁定了这个文件夹。我看网上有两种方式能够解决这个问题,一种是关闭超级权限,开启访问;一种是避开系统管辖区域,另谋他路,想要折腾第一种方法的,参考一下这篇文章 -> Mac下使用sudo移动文件提示Operation not permitted

即便是选择了另一个文件夹去存放,也不能太随便,我是选择了~/Application/作为根据地。访达侧边栏默认是找不到这里的,需要到偏好设置里配置(快捷键command + ,),如下图最下面房子标志的选项。

Mac下设置环境变量

配置.bash_profile

vim ~/.bash_profile

这里,按i进入编辑模式

export MAVEN_HOME=/Users/eve/Applications/maven3.6.3
export PATH=$PATH:$MAVEN_HOME/bin

然后按esc推出编辑模式,输入:wq保存并退出。

期间我尝试了一次猎奇的写法:

# 不要尝试这么做。。一个错误的示范而已
export PATH=
$PATH:
$MAVEN_HOME/bin:

结果导致$PATH里所有的路径都损坏了。。好在source等一些基础语法是bash内建的(如果不是内建的需要直接用全路径打开程序进一步使用),然后做进一步的处理。

我保存的配置文件
Mac下设置环境变量

重新载入配置文件(可以用tab进行补全)

source ~/.bash_profile

查看:

echo $PATH

输出结果(这个时候应该是能够找到你配置的东西了,如果没有,检查一下步骤是不是有问题,然后适当百度或者询问....)
Mac下设置环境变量

测试使用(如果显示版本号说明配置成功)

mvn --version 

注意事项

  1. 注意创建文件的时候文件名不要拼错,如果配置过可以补全,没有配置过是要自己敲的,容易造成单词拼错。
  2. .bash_profile内容规范苛刻,注意标点符号是否拼写错误、格式是否规整。
  3. 如果想要在zsh中使用命令,是需要把路径指向bin文件夹中的。
  4. 现今很多开发工具都是可以一键安装的,可以的话还是用安装版本的,它们不容易出错。

总结

  1. 配置环境变量通常修改~/.bash_profile文件。
  2. 对于很多配置不要把它们想象的太高端,很多概念其实都只是一层糖衣,把我们理解的东西封装成了我所不理解的东西。

参考文献:

  1. mac下添加环境变量
  1. Mac下使用sudo移动文件提示Operation not permitted

Mac下设置环境变量

上一篇:Linux网络编程——广播、多播


下一篇:Linux--ssh服务