MAC设置环境变量path的⼏种⽅法
MAC 设置环境变量的⽅法
要使⽤的命令:
原因是我之前有⼀次使⽤vi 操作Test.java⽂件时出现了异常中断,所以在当前⽬录下产⽣了⼀个.Test.java.swp⽂件
但是我使⽤ls命令查看该⽬录下,却发现没有这个⽂件,后来使⽤ls -a命令查看才知道Test.java.swp是⼀个隐藏⽂件。
注:以.开头的⽂件就是隐藏⽂件
当我把该隐藏⽂件删除后再次打开就没有上⾯的警告了。
[root@localhost tmp]# rm .Test.java.swp
rm: remove regular file `.Test.java.swp'? y
[root@localhost tmp]#
mac ⼀般使⽤bash作为默认shell
Mac系统的环境变量,加载顺序为:
/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc
环境变量path误删有影响吗当然/etc/profile和/etc/paths是系统级别的,系统启动就会加载,后⾯⼏个是当前⽤户级的环境变量。后⾯3个按照从前往后的顺序读取,如果~/.bash_profile⽂件存在,则后⾯的⼏个⽂件就会被忽略不读了,如果~/.bash_profile⽂件不存在,才会以此类推读取后⾯的⽂件。~/.bashrc 没有上述规则,它是bash shell打开的时候载⼊的。
如果没特殊说明,设置PATH的语法都为:
——————————————————-
1
2#中间⽤冒号隔开
export PATH=$PATH::::------:
(⼀)全局设置
下⾯的⼏个⽂件设置是全局的,修改时需要root权限
1)/etc/paths (全局建议修改这个⽂件 )
编辑 paths,将环境变量添加到 paths⽂件中 ,⼀⾏⼀个路径
Hint:输⼊环境变量时,不⽤⼀个⼀个地输⼊,只要拖动⽂件夹到 Terminal ⾥就可以了。
2)/etc/profile (建议不修改这个⽂件 )
全局(公有)配置,不管是哪个⽤户,登录时都会读取该⽂件。
3)/etc/bashrc (⼀般在这个⽂件中添加系统级环境变量)
全局(公有)配置,bash shell执⾏时,不管是何种⽅式,都会读取此⽂件。
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 ⼀个⽂件⾥,⽅便管理。
(⼆)单个⽤户设置
1)~/.bash_profile (任意⼀个⽂件中添加⽤户级环境变量)
(注:Linux ⾥⾯是 .bashrc ⽽ Mac 是 .bash_profile)
若bash shell是以login⽅式执⾏时,才会读取此⽂件。该⽂件仅仅执⾏⼀次!默认情况下,他设置⼀些环境变量
设置命令别名alias ll=’ls -la’
设置环境变量:
1
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
2)~/.bashrc 同上
如果想⽴刻⽣效,则可执⾏下⾯的语句:
$ source 相应的⽂件
⼀般环境变量更改后,重启后⽣效。
1. 环境变量介绍
1.1 环境变量的作⽤
环境变量和全局的变量有什么⽤呢?
1.1.1 使⽤场景1
我们先来看这样的⼀个使⽤场景1,我们有⼀个程序Java,需要读取某个⽂件(/)。
那么我们在运⾏的时候是不是需要做如下的步骤:
cd 到Java的⽬录下;
执⾏Java命令;
但是,当我们需要同时使⽤多个⼯具的时候,⽐如⼜有java、maven、Git等等,⽽且是多台机器的时候,我们通常需要很多繁琐的cd操作。⽽配置环境变量 就可以使我们可以快速的运⾏这些脚本了。
1.1.1 使⽤场景2
如果我们⼜有JDK1.7,⼜有JDK1.8,⽽且需要经常的切换,那么怎么办?
可以配置局部变量⽐如:
exportJDK1.7=/usr/apps/jdk1.7exportJDK1.8=/usr/apps/jdk1.8exportPATH=$JDK1.7/bin
1
2
3
1
2
3
这样,在改变的时候,就不需要去全部改变,⽽改变部分语句就可以了。
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
1
2
1
2
可以看出,我的⽬录下有”/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配置环境变量的地⽅
/etc/profile (建议不修改这个⽂件 ) 全局(公有)配置,不管是哪个⽤户,登录时都会读取该⽂件。
/etc/bashrc (⼀般在这个⽂件中添加系统级环境变量) 全局(公有)配置,bash shell执⾏时,不管是何种⽅式,都会读取此⽂件。
~/.bash_profile (⼀般在这个⽂件中添加⽤户级环境变量) 每个⽤户都可使⽤该⽂件输⼊专⽤于⾃⼰使⽤的shell信息,当⽤户登录时,该⽂件仅仅执⾏⼀次!
2.3 常见操作命令
2.3.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。
如果是Bourne Shell。
那么你可以把你要添加的环境变量添加到你主⽬录下⾯的.profile或者.bash_profile,如果存在没有关系添加进去即可,如果没有⽣成⼀个。
2.3.2 修改host⽂件
sudovi /etc/hosts
1
1
2.3.3 linux下查看和添加PATH环境变量
PATH的格式为:
PATH=$PATH::::——: ,中间⽤冒号隔开。
2.3.4 添加PATH环境变量:
[root@localhostu-boot-sh4]#export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH
1
1
2.3.5 查看PATH环境变量:
[root@localhost 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
1
2
2.3.6 操作⽰例
通过编辑 启动⽂件 来改PATH。
# vim /etc/profile
1
1
在⽂档最后,添加:
exportPATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH"
1
1
保存,退出。
想⽴即⽣效请运⾏:
#source /etc/profile
1
1
不报错则成功。
如果想⽴刻⽣效,则可执⾏下⾯的语句:”$ source .bash_profile(这是⽂件名”。环境变量更改后,在⽤户下次登陆时⽣效。
3. 软连接
另外有很多⼩伙伴可能发现了,在mac上不设置环境变量有的时候也可以直接就访问到了某些⽂件。这个是为什么呢?答案是⽤了软连接。
3.1 查看加载⽂件
可以使⽤cat命令查看paths⽂件
localhost:/Sean$cat etc/paths/usr/local/bin/usr/bin/bin/usr/sbin/sbin
1
2
3
4
5
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论