Mac 中环境变量的配置

1. 环境变量介绍

1.1 环境变量的作用

环境变量和全局的变量有什么用呢?

1.1.1 使用场景1

我们先来看这样的一个使用场景1,我们有一个程序Java,需要读取某个文件(/data/file.txt)。 
那么我们在运行的时候是不是需要做如下的步骤:

  1. cd 到Java的目录下;
  2. 执行Java命令;

    但是,当我们需要同时使用多个工具的时候,比如又有java、maven、git等等,而且是多台机器的时候,我们通常需要很多繁琐的cd操作。而配置环境变量 就可以使我们可以快速的运行这些脚本了。

1.1.1 使用场景2

如果我们又有JDK1.7,又有JDK1.8,而且需要经常的切换,那么怎么办? 
可以配置局部变量比如:

export JDK1.7=/usr/apps/jdk1.7
export JDK1.8=/usr/apps/jdk1.8
export PATH=$JDK1.7/bin

这样,在改变的时候,就不需要全部的改变,而改变部分就可以了。

1.2 环境变量的作用

ok,有了上面的介绍,我们大概就可以知道环境变量到底有什么用处了。用处就是可以在操作系统的各个目录下,都能访问到需要的工具目录内的内容,和Windows的桌面的思想十分相似,而且相当于在系统的各处都具有这个桌面的快捷方式。


2. Mac环境变量配置

在讲解Mac环境变量配置之前,大家可以打开dos框,输入 
“echo $PATH” 查看当前的path下有什么东西。 
个人的结果是这样的:

localhost:/ Sean$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/Sean/Software/hadoop/hadoop-2.2.0/bin:/Users/Sean/Software/Scala/scala-2.11.8/bin:/Users/Sean/Software/Spark/spark-2.0.2-bin-hadoop2.7/bin

可以看出,我的目录下有”/usr/local/bin、/usr/bin、/Users/Sean/Software/hadoop/hadoop-2.2.0/bin”都被作为环境变量进行加载了。 
那么下面我就讲解下,这个东西到底应当如何配置。

2.1 环境变量文件的优先级

其配置文件的优先级如下所示:

/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc

2.2 Mac配置环境变量的地方

1)/etc/paths (全局建议修改这个文件 )

编辑 paths,将环境变量添加到 paths文件中 ,一行一个路径

Hint:输入环境变量时,不用一个一个地输入,只要拖动文件夹到 Terminal 里就可以了。

2)/etc/profile (建议不修改这个文件 )

全局(公有)配置,不管是哪个用户,登录时都会读取该文件。

3)/etc/bashrc (一般在这个文件中添加系统级环境变量)

全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。

4)~/.bash_profile (一般在这个文件中添加用户级环境变量)

每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!

2.3 常见操作命令

2.3.1 操作系统判断

  1. 首先要知道你使用的Mac OS X是什么样的Shell,使用命令 echo $SHELL 
    如果输出的是:csh或者是tcsh,那么你用的就是C Shell。 
    如果输出的是:bash,sh,zsh,那么你的用的可能就是Bourne Shell的一个变种。 Mac OS X 10.2之前默认的是C 
    Shell。 Mac OS X 10.3之后默认的是Bourne Shell。
  2. 如果是Bourne Shell。 
    那么你可以把你要添加的环境变量添加到你主目录下面的.profile或者.bash_profile,如果存在没有关系添加进去即可,如果没有生成一个。

2.3.2 修改host文件

sudo vi /etc/hosts

2.3.3 linux下查看和添加PATH环境变量

PATH的格式为: 
PATH=$PATH::::——: ,中间用冒号隔开。

2.3.4 添加PATH环境变量:

[root@localhost u-boot-sh4]#export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH

2.3.5 查看PATH环境变量:

[[email protected] u-boot-sh4]#echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

2.3.6 操作示例

  • 通过编辑 启动文件 来改PATH。
# vim /etc/profile
  • 在文档最后,添加:
export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"

保存,退出。

  • 想立即生效请运行:
#source /etc/profile

不报错则成功。

如果想立刻生效,则可执行下面的语句:”$ source .bash_profile(这是文件名”。环境变量更改后,在用户下次登陆时生效。


3. 软连接

另外有很多小伙伴可能发现了,在mac上不设置环境变量有的时候也可以直接就访问到了某些文件。这个是为什么呢?答案是用了软连接。

3.1 查看加载文件

可以使用cat命令查看paths文件

localhost:/ Sean$ cat etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

答案就是mac会自动加载paths目录,自动加载这些文件夹下的文件,所以使用软连接,在这些文件夹下建立软连接,可能达到相同的效果。

3.2 软连接查看

ls -li
406876 lrwxr-xr-x   1 root   wheel        73  7  9  2016 jar -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jar
406877 lrwxr-xr-x   1 root   wheel        79  7  9  2016 jarsigner -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jarsigner
406878 lrwxr-xr-x   1 root   wheel        74  7  9  2016 java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
406879 lrwxr-xr-x   1 root   wheel        75  7  9  2016 javac -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac
406880 lrwxr-xr-x   1 root   wheel        77  7  9  2016 javadoc -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javadoc
406881 lrwxr-xr-x   1 root   wheel        75  7  9  2016 javah -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javah
406882 lrwxr-xr-x   1 root   wheel        75  7  9  2016 javap -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javap
406883 lrwxr-xr-x   1 root   wheel        76  7  9  2016 javaws -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javaws
406884 lrwxr-xr-x   1 root   wheel        74  7  9  2016 jcmd -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jcmd
406885 lrwxr-xr-x   1 root   wheel        78  7  9  2016 jconsole -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jconsole
406886 lrwxr-xr-x   1 root   wheel        73  7  9  2016 jdb -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jdb
406887 lrwxr-xr-x   1 root   wheel        75  7  9  2016 jdeps -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jdeps
406888 lrwxr-xr-x   1 root   wheel        74  7  9  2016 jhat -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jhat
406889 lrwxr-xr-x   1 root   wheel        75  7  9  2016 jinfo -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jinfo
406890 lrwxr-xr-x   1 root   wheel        73  7  9  2016 jjs -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jjs
406891 lrwxr-xr-x   1 root   wheel        74  7  9  2016 jmap -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jmap
406892 lrwxr-xr-x   1 root   wheel        73  7  9  2016 jmc -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jmc

3.3 软连接建立和测试

ln -s /data/kafka  /kafka
 ls -li
11373698 lrwxr-xr-x   1 root  wheel    11  1 19 18:09 kafka -> /data/kafka

4. 参考文献

[1]. Mac 可设置环境变量的位置、查看和添加PATH环境变量 
[2]. Mac 的环境变量设置 
[3]. Linux下建立软连接 
[4]. Linux软连接和硬链接

原文地址:https://www.cnblogs.com/gujiande/p/9444273.html

时间: 2024-12-06 09:41:34

Mac 中环境变量的配置的相关文章

JavaSE中环境变量的配置

在说Java中环境变量配置之前,还是先说说JDK和JRE吧. JRE(Java Runtime Environment),即Java的运行环境.主要包括JVM(Java Virtual Machine,Java虚拟机)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可. JDK(Java Development Kit),即Java开发工具包.JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包含了JRE.安装了JDK之后就不用

mac下环境变量的配置

一.在系统的~/.bash_profile下配置环境变量 vim ~/.bash_profile 编写环境变量如下(在英文输入环境下输入"i"进入编辑模式): export PATH=$PATH:/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/bin export PATH=$PATH:/Users/RadAsm/Downloads/adt-bundle-mac-x86_64-20131030/sdk/pl

Mac maven环境变量配置

人活一天就得做一天人,担一天忧,尽一天责:就得讲一天内涵和修养.涵养,使人严肃而不孤僻,使人活泼而不放浪,使人稳重而不呆板,使人热情而不轻狂,使人沉着而不寡言,使人和气而不盲从.每个人都是塑造自己的工程师.涵养,不是束缚,而是解放. 最近一直在学习使用Macbook,在这里记录一下所有遇到的问题 问题起源: 1.Macbook 安装了Eclipse,Eclipse装入插件maven & git , 但是在git中clone project 的时候,经常会报错: Could not calcula

MAC java环境变量配置

刚整的pro所以研究半天把开发环境搭建好 1 首先jdk1.7: 转载: ------------- 首先呢,为了少出问题,先要让平台装一个java,Snow Leopard下还好(默认就有),Lion的话默认是没有安装任何jvm的,安装方法也很简单,终端下输入java或者启动任何需要用到java虚拟机的应用,就会自动触发Software Update安装jvm. 下载mac版专用的jdk1.7,地址如下:http://jdk7.java.net/macportpreview/,里面有最新版的(

Linux中环境变量文件及配置

一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量.所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]: 1.系统级:(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件

Linux中环境变量文件及配置(转载)

一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量.所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]: 1.系统级:(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件

java中的环境变量的配置

作为初学者来说配置环境变量是初学者的第一步: 下载并安装JDK1.60(或以上版本),假设安装在X:\jdk150目录下 打开:控制面板 系统 高级 环境变量 变量名 变量值 path .;X:\jdk140\bin ClassPath .;X:\jdk140\lib\tools.jar; .;X:\jdk140\lib\dt.jar; JAVA_HOME X:\jdk140 path 路径是为了保证在任何路径下都能找到,使用java的指令. 配置ClassPath路径是为了虚拟机能够找到我们要

Linux中环境变量文件及配置(转)

一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量.所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]: 1.系统级:(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件

nodejs安装过程中环境变量配置的问题

基本知识: 命令行工具是运行在当前计算机用户下的,所以开头总是C:\Users\XXX>,而不会跟你的nodejs安装的位置有关. 安装node后,在cmd里有两种模式,开发模式和命令行模式,要进入开发模式直接输入node回车即可,此时可以输入代码,比如require ("express"),如果直接在命令行模式下输入require类的语句是会报错的,提示'require'不是内部或外部命令,也不是可运行的程序或批处理文件.从开发模式退出可用.exit命令也可以用快捷捷,ctrl