Mac 中环境变量的配置
1. 基本了解
1.1. 查看当前path
在讲解Mac环境变量配置之前,大家可以打开dos框,输入
echo $PATH
查看当前的path。
本机结果:
/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/apple/Library/Android/sd/tools:/Users/apple/Library/Android/sd/platform-tools:/Users/apple/Documents/mongodb/mongodb-3.6.4/bin
可以看出,我的目录下有/usr/local/bin
、/usr/bin
...都被作为环境变量
进行加载了。
1.2. 环境变量文件的优先级
其配置文件的优先级如下所示:
/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc
1.3 Mac配置环境变量的地方
/etc/profile
(建议不修改这个文件 )
全局(公有)配置,不管是哪个用户,登录时都会读取该文件。/etc/bashrc
(一般在这个文件中添加系统级
环境变量)
全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件。~/.bash_profile
(一般在这个文件中添加用户级
环境变量)
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!
2. 常见操作命令
2.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.2 修改host文件
sudo vi /etc/hosts
2.3 linux下查看和添加PATH环境变量
PATH的格式为:
PATH=$PATH::::——:
中间用冒号隔开。
2.4 添加PATH环境变量:
[root@localhost u-boot-sh4]#export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH
2.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
2.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
Mac 中环境变量的配置的更多相关文章
- .net core 中环境变量的配置
配置文件: Properties目录下的launchSettings.json IISExpress配置 "ASPNET_ENV": "EnvironmentOne&qu ...
- 记录一下我的mac的环境变量的配置参数
#配置jdk环境export JAVA_7_HOME=/Library/java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Homeexport JAV ...
- Linux中环境变量文件及配置
Linux中环境变量文件及配置 一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统 ...
- Linux中环境变量文件及配置(转载)
一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...
- Linux中jdk的安装和环境变量的配置
我安装的linux系统版本是RedHat4 64位,jdk版本为jdk-6u10-linux-i586.bin 1.首先找到安装包的位置->进入此文件夹,此bin格式的文件可用./命令直接进行安 ...
- MySQL Mac 终端环境变量配置
MySQL Mac 终端环境变量配置 这里安装的是mysql-8.0.26-macos11-x86_64,M1Mac,原本打算安装arm64版本,但一直安装不了,就装了x86版本 安装完成MySQL之 ...
- 在命令行中输入python会跳转到商店问题解决,python环境变量的配置
安装python出了点问题,明明安装了,在应用商店显示已获取,可是在命令行输入python检验时就直接跳转到win10系统自带的应用商店...... 这不免让我怀疑是不是没有安装好python~但是它 ...
- Linux中JDK环境变量的配置
在JDK安装好以后,需要进行环境变量的配置 配置目录 /etc/profile 在这个文件的末尾追加 JAVA_HOME=/home/j2sdk1.4.2_11PATH=$PATH:/home/j ...
- [java学习笔记]JDK的安装和环境变量的配置
1.JDK的下载和安装 jdk(java development kit)是java提供给我们的一套java开发工具,它必运行在JVM(java虚拟机)上,java语言的跨平台性就是利用java运行在 ...
随机推荐
- Python调用函数加括号和不加括号的区别
Python调用函数加括号和不加括号的区别 # -*- coding: utf-8 -*- #!/usr/bin/env python # @Time : 2018/7/3 10:03 # @Desc ...
- 一道笔试题(vue,react)
题目: vue代码 <template> <div class="colculate"> <div> <select v-model=&q ...
- php swoole异步处理mysql
php swoole异步处理mysql <pre>//创建websocket服务器对象,监听0.0.0.0:9509端口//异步测试$ws = new swoole_websocket_s ...
- 来了!GitHub for mobile 发布!iOS beta 版已来,Android 版即将发布
北京时间 2019 年 11 月 14 日,在 GitHub Universe 2019大会上,GitHub 正式发布了 GitHub for mobile,支持 iOS 与 Android 两大移动 ...
- 瞎折腾实录:构建 Armel 版本的 .NET Core 教程和资料资源
目录 首先我要说明,我失败了~ 我把我的进度和经验放出来,希望能够帮助别人完成编译工作~ 背景:最近接手一个华为某型号的嵌入式设备,需要在上面搭建 .NET Core 环境. 设备是 Armel 架构 ...
- 深入理解计算机系统 第八章 异常控制流 Part1 第二遍
第二遍读这本书,每周花两到三小时时间,能读多少读多少(这次看了第 500~507 页,共 8 页) 第一遍对应笔记链接 https://www.cnblogs.com/stone94/p/101651 ...
- 小程序 数字过千 以K显示
先新建一个 wxs 文件 每一个 .wxs 文件和 <wxs> 标签都是一个单独的模块. 每个模块都有自己独立的作用域.即在一个模块里面定义的变量与函数,默认为私有的,对其他模块不可见. ...
- 微信小程序引入全局或公共样式
在开发的过程中,总会遇到很多可复用性的样式,为了代码更加的简洁和减少微不住道的文件体积,我抽取了一部分的公共样式,并全局引入,不知是否妥当,如有更好的想法,欢迎一起探讨 在app.wxss中引入 然后 ...
- PHP+Swoole并发编程的魅力
PHP语言是一个短生命周期的Web编程语言,很多PHPer已经形成了fpm下编程的思维定势.实际上在Swoole出现之后,这种串行化编程的模式早已被打破.使用Swoole完全可以轻易实现更灵活的并发编 ...
- CGI、FastCGI、CLI、Apache、ISAPI之PHP运行环境对比
1.运行模式 关于PHP目前比较常见的五大运行模式: 1)CGI(通用网关接口 / Common Gateway Interface) 2)FastCGI(常驻型CGI / Long-Live CGI ...