帮你涨知识:
一.认识自己的Shell系统
(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。(都2017年了 估计MAC都升级至最新版本了)
(2)如果是Bourne Shell。
那么你可以把你要添加的环境变量添加到你主目录下面的.profile或者.bash_profile,如果存在也没有关系直接添加环境变量进去即可,如果没有生成一个。
1./etc/profile (建议不修改这个文件 )
全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
2./etc/bashrc (一般在这个文件中添加系统级环境变量)
全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。
3.~/.bash_profile (一般在这个文件中添加用户级环境变量)
(注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile)
若bash shell是以login方式执行时,才会读取此文件。该文件仅仅执行一次!默认情况下,他设置一些环境变量
二.过程中MAC必备权限相关命令sudo
新手必备:使用”sudo”的4个小技巧
大家应该对sudo很熟悉啦。当我们在安装软件、删除软件、更新系统等情况下都需要取得管理员密码来执行相应操作。”sudo “允许授权的用户作为管理员来执行操作。
1)sudo !!
用法:想要作为root授权来运行一个命令,但是忘记使用“sudo”了?不要担心。我们可以使用”sudo !!”结合命令历史来执行你想要执行的命令。参数”!!“和”!-1“作用一样,都是允许用户作为root来执行我们刚才输入的命令。当然,以此类推,我们可以使用下面命令来执行倒数第二个命令:sudo !-2
2)sudo -i
我们使用上述命令,可以切换到root状态下。
我们可以用下面命令格式,用一个指定的用户登陆shell:
sudo -u username -i
提示,username换成你想要使用的用户名即可,在此过程中需要输入username的授权密码。
3):w !sudo tee %
上述命令可用在vi/vim编辑器中。编辑文件后保存时不用担心没有修改的权限了。
4):sudo chown -R username /usr/local
当你有些时候不能用ROOT权限去下载某个插件或升级brew套件的时候就会使用这个命令降级权限。
三.mac环境下的配置步骤:
PATH=$PATH:
查看当前PATH命令
#echo $PATH
使用env命令显示所有的环境变量
$ env
$ echo $$
31038 #表示当前shell进程号为31038
执行如下命令:source .bash_profile 及时生效文件
1.启动Terminal终端工具
2.输入cd ~/ 进入当前用户的home目录
3. 创建:(#如果没有创建 如果有这个文件可以直接打开#)
touch .bash_profile
4.打开并编辑:
open .bash_profile
5.输入编辑环境变量(根据你自己的系统目录路径自行修改)
例子:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME=$(/usr/libexec/java_home)
export M2_HOME=/Users/leno/work/tools/apache-maven-3.5.0
export PATH=$PATH:$M2_HOME/bin
export NODE_PATH=/usr/local/lib/node_modules/
export CLASS_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
ANDROID_HOME=/Users/leno/work/tools/sdk
export PATH=$PATH:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
export PATH=${PATH}:/Users/leno/work/tools/sdk/build-tools/android-4.4W
export PATH=${PATH}:/Users/leno/work/tools/sdk/tools
PATH=/Library/Frameworks/Python.framework/Versions/2.7/bin:$HOME/bin:/sbin:/usr/bin:/usr/sbin:$PATH:/usr/local/Cellar/mysql/5.7.17/bin:$PATH:/Applications/Appium.app/Contents/Resources/node_modules/appium/bin:$PATH:$JAVA_HOME/bin
export PATH
export ANDROID_HOME
export JAVA_HOME
NODE_PATH=/usr/local/lib/node_modules
export PATH=$NODE_PATH:$PATH
PS: PATH是一个字符串,而$PATH则表明PATH是一个变量,比如echo PATH输出PATH而echo $PATH则输出环境变量PATH
Linux export命令
功能说明:设置或显示环境变量。
语法:export[-fnp][变量名称]=[变量设置值]
补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该次登录操作。
参数:
-f代表[变量名称]中为函数名称。
-n删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p列出所有的shell赋予程序的环境变量。
PATH=$PATH:/sbin意思是把/sbin加入到环境变量PATH中
export PATH使环境变量生效
PATH为系统环境变量,PATH=~/bin:$PATH意思是把根目录下的bin目录加入搜索路径,冒号可以理解为并上也就是加上原来的路径($PATH)。
总结:以上是我配置自己mac的环境变量时参考各位大神的文章总结了一下,方便自己也方便他人,具体参考连接记不得了,就不贴出来了见谅。