一、概述

  首先要知道你使用的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。

  mac 一般使用bash作为默认shell。如果是Bourne Shell,那么你可以把你要添加的环境变量添加到你主目录下面的.profile或者.bash_profile,如果存在没有关系添加进去即可,如果没有生成一个。

查看系统支持的shell

cat /etc/shells

  可以根据自己的喜好切换shell

1.1、Mac系统的环境变量

  加载顺序为:

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

  说明:

    • 全局配置【系统级别的,系统启动就会加载】:/etc/profile,   /etc/profile.d/*.sh,   /etc/bashrc
    • 个人配置:~/.bash_profile,    ~/.bashrc

    ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取,如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果~/.bash_profile文件不存在,才会以此类推读取后面的文件。

    ~/.bashrc没有上述规则,它是bash shell打开的时候载入的。

登陆式SHELLL配置文件加载顺序:/etc/profile > .bash_profile > .bash_login > .profile > .bash_logout.

非登录式SHELL配置文件加载顺序:/etc/bash.bashrc > .bashrc

注: 先加载的配置文件的配置,可能会被后加载的配置所覆盖

1.2、设置PATH的语法:

如果没特殊说明,

#中间用冒号隔开
export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>

二、具体说明

2.1、全局设置

下面的几个文件设置是全局的,修改时需要root权限

1)/etc/paths (全局建议修改这个文件 )
编辑 paths,将环境变量添加到 paths文件中 ,一行一个路径
Hint:输入环境变量时,不用一个一个地输入,只要拖动文件夹到 Terminal 里就可以了。

2)/etc/profile (建议不修改这个文件 )
全局(公有)配置,不管是哪个用户,登录时都会读取该文件。

3)/etc/bashrc (一般在这个文件中添加系统级环境变量)
全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。如,加入mysqlstart、mysql和mysqladmin命令的别名,保证每一个用户都可以使用这3个命令。

4)
  1.创建一个文件:
    sudo touch /etc/paths.d/mysql
  2.用 vim 打开这个文件(如果是以 open -t 的方式打开,则不允许编辑):
    sudo vim /etc/paths.d/mysql
  3.编辑该文件,键入路径并保存(关闭该 Terminal 窗口并重新打开一个,就能使用 mysql 命令了)
    /usr/local/mysql/bin
    据说,这样可以自己生成新的文件,不用把变量全都放到 paths 一个文件里,方便管理。

2.2、单个用户设置

1)~/.bash_profile (任意一个文件中添加用户级环境变量)

(注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile)

若bash shell是以login方式执行时,才会读取此文件。该文件仅仅执行一次!默认情况下,他设置一些环境变量

可以设置

  设置终端配色、

  设置命令别名:alias ll='ls -la'

  设置环境变量:export PATH=/opt/local/bin:/opt/local/sbin:$PATH

2)~/.bashrc 同上

如果想立刻生效,则可执行下面的语句:
$ source 相应的文件
一般环境变量更改后,重启后生效。

三、操作【查看、设置】

3.1、mac修改hosts

sudo vi /etc/hosts

可以使用mac版本的switchhost

3.2、path操作

查看path

echo $PATH

编辑

vim /etc/profile

在文档最后,添加:

export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"

保存,退出。:wq

立即生效请运行:

source /etc/profile

四、利用alias切换多版本

vim ~/.bash_profile

# maven
MAVEN_HOME_323=/Users/lihongxu6/developTool/apache-maven-3.2.3/bin
MAVEN_HOME_354=/Users/lihongxu6/developTool/apache-maven-3.5.4/bin
alias mvn323="export PATH=$MAVEN_HOME_323:$PATH"
alias mvn354="export PATH=$MAVEN_HOME_354:$PATH"

使用时

source ~/.bash_profile

mvn323

或者mvn354

cv

011-MAC 设置环境变量path的几种方法的更多相关文章

  1. MAC 设置环境变量path的几种方法

    mac 一般使用bash作为默认shell Mac系统的环境变量,加载顺序为:/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.prof ...

  2. 转载:(Mac)在bash和zsh配置环境变量path的几种方法

    参考文献 老习惯,列出本文参考或引用或转载的文档和博客,致以崇高的敬意,感兴趣的可以去看看 1.http://postgresapp.com/ 2.http://postgresapp.com/doc ...

  3. MAC 设置环境变量path的常用方法

    单个用户设置 1)~/.bash_profile (任意一个文件中添加用户级环境变量) (注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile) 若bash shell是 ...

  4. Mac配置环境变量path

    查看当前配置的path有哪些: 1. echo $PATH  当前所有的 2. cat /etc/paths  这个文件是操作系统自带的 mac系统环境变量的加载顺序(优先级): /etc/profi ...

  5. MAC设置环境变量

    1. Mac 启动加载文件位置(可设置环境变量) ------------------------------------------------------- (1)首先要知道你使用的Mac OS ...

  6. Mac 设置环境变量

    前天配置好了SVN,这里赞下Versions,确实好用! CO了淘宝的TAE,跑startServer.sh时报错: JAVA_HOME does not point at a JDK or JRE. ...

  7. Linux 环境变量配置的 6 种方法,建议收藏

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Linux环境变量配置 在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量 ...

  8. 在 Ubuntu 系统中有三种设置环境变量 PATH 的方法。(ZT) repost

    来源地址: http://blog.csdn.net/jernymy/article/details/6547671 第一种适用于为单一用户设置PATH.第二种是为全局设置 PATH.第三种方法适合于 ...

  9. CentOS下将php和mysql命令加入到环境变量中的几种方法

    Linux CentOS配置LAPM环境时,为了方便,将php和mysql命令加到系统环境命令,下面我们记录几种在linux下将php和mysql加入到环境变量中的方法. 如果在没有添加到环境变量之前 ...

随机推荐

  1. [k8s]k8s内容索引

    我会陆陆续续小结下. dns相关 dns策略 1.集群内 2.指定内网 subdomain 3.访问互联网 resovel.conf kube-dns架构图解及策略 nginx-ingress: DN ...

  2. Mobile 抓包,代理

    Mobile代理,抓包工具 Fiddler 下载链接, 适用于Win平台.免费: Charles, 下载链接, 使用与MAC平台,收费,有30天的免费使用期,重新下载安装可以再次获得30天的免费使用时 ...

  3. Spring中@Resource与@Autowired、@Qualifier的用法与区别

    1.@Autowired与@Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上. 2.@Autowired默认按类型装配(这个注解是属业spring的),默认情况下必 ...

  4. SFTP工具类

    1.SFTP搭建方法: 地址: http://www.jb51.net/article/101405.htm https://blog.csdn.net/helloloser/article/deta ...

  5. spingboot中的美女banner.txt

    .::::. .::::::::. ::::::::::: ..:::::::::::' '::::::::::::' .:::::::::: '::::::::::::::.. ..:::::::: ...

  6. Angularjs 学习笔记

    Angularjs 表单验证:https://www.w3xue.com/jsjq/angularjs/angularjs-validation.html https://www.cnblogs.co ...

  7. 关于QT Graphics View开启OpenGL渲染后复选框、微调框等无法正常显示的问题

    之前学习QT Graphics View框架,除了基本的图元外,还可以通过QGraphicsProxyWidget类添加QT的基本Widget(如按钮.复选框.单选框等),常使用的场景类接口如下: Q ...

  8. Java API获取consumer group最新提交位移的时间

    碰到了有人问起这个问题,目前java consumer没有利用OffsetAndMetadata中的metadata字段记录提交的时间,故直接通过java consumer来查询是不行,我们需要直接读 ...

  9. 写在开始前---web异常处理

    分层项目中,有上层调用下层,每一层都可能出错,比如数据库连接,文件读写等异常.除了运行时程序的异常,还有业务逻辑的一些问题.发生异常需要做一定处理,既要让开发人员便于排查问题,又要让用户看到友好又便于 ...

  10. flex布局应用与踩坑

    一.预告 本文不是一篇入门的文章所有请符合以下条件的战斗人员绕道: 1.初学前端,对前端的传统布局还不是很熟悉的人 2.后端人员对前端不打算深入学习的同学 二.开篇 flex布局原本是好几个月前就一直 ...