• 为什么Mac或者Windows经常要配置环境变量?


    最全:mac设置环境变量(Python/ Java/ Mysql/Allure) https://blog.csdn.net/liuxiaoniudechuntian/article/details/121196855

    当你输入一个指令,比如:net start mysql,那系统怎么知道这个指令有没有呢?
    系统做了什么事?
    其实系统是在当前目录和系统环境变量path里面的路径全部查找一遍,找到第一个为准,找不到就报错。
    所以我们要不每次都切换cmd目录,要不就设置环境变量,以后就不需要再切换cmd路径了。
    简单的说环境变量里面的path路径这东西,就是cmd系统的查找目录路径。

    每次需要在mac上设置环境变量时,总是要重新上网搜索该怎么设置,而且只依葫芦画瓢,没搞懂每个步骤,今天痛定思痛,一定要搞清楚,一劳永逸。好,我们开始
    为什么要设置环境变量?
    背景
    在cmd中想要执行net start mysql等操作命令,必须先cd到bin文件所在目录,如D:\mysql\mysql-x.x.xx-winx64\bin,那么每次打开mysql 都要输入那么多指令切换目录是不是很讨厌?怎么弄呢?
    原理
    当你输入一个指令,比如:net start mysql,那系统怎么知道这个指令有没有呢?系统做了什么事?其实系统是在当前目录和系统环境变量path里面的路径全部查找一遍,找到第一个为准,找不到就报错。所以我们要不每次都切换cmd目录,要不就设置环境变量,以后就不需要再切换cmd路径了。简单的说环境变量里面的path路径这东西,就是cmd系统的查找目录路径
    原本必须要到安装目录下才能执行,为了实现在计算机的任意目录下都能执行,才需要配置环境变量。
    下面说下几个变量的作用:
    (1)、PATH环境变量:作用是指定命令搜索路径,在命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等等,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。
    (2)、CLASSPATH环境变量:作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们 需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
    javac -c 路径 (可以指定class文件存放目录)
    java -cp 路径 (可以指定要执行的class目录)
    (3)、JAVA_HOME环境变量:它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。
    环境变量的作用是指定Java类所在的目录,我们在写好java文件后,去执行java经常会报错找不到主类。就是没有配置好这个变量的原因 。
    规则
    Mac 系统的环境变量,加载顺序为:/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc
    其中/etc/profile和/etc/paths是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量*
    后面3个按照从前往后的顺序读取,如果~/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果~/.bash_profile文件不存在,才会以此类推读取后面的文件
    ~/.bashrc没有上述规则,它是bash shell打开的时候载入的。
    PATH 的语法为
    > # 中间用冒号隔开
    export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:...:<PATH N>
    如果要查看 $PATH 的路径
    echo $PATH
    /etc/paths(如果是全局,建议修改这个文件)
    编辑 paths,将环境变量添加到 paths 文件中 ,一行一个路径
    /etc/profile(建议不修改这个文件)
    全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
    /etc/bashrc (一般在这个文件中添加系统级环境变量)
    全局(公有)配置,bash shell执行时,不管是何种方式,都会读取此文件
    .profile 文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置
    如果你有对/etc/profile有修改的话必须得重启你的修改才会生效,此修改对每个用户都生效
    ./bashrc 每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
    对所有的使用bash的用户修改某个配置并在以后打开的bash都生效的话可以修改这个文件,修改这个文件不用重启,重新打开一个bash即可生效。
    ./bash_profile 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.(每个用户都有一个.bashrc文件,在用户目录下)
    需要需要重启才会生效,/etc/profile对所有用户生效,~/.bash_profile只对当前用户生效。
    JAVA
    .bash_profile 为每个用户配置环境变量,用户登录后会自动读取一次
    我们切换到当前用户主目录,然后编辑 .bash_profile 文件
    cd ~
    vim .bash_profile
    输入内容
    # 假如我们有两个JAVA环境,需要任意切换 [java15, java1.8]
    export JAVA15_HOME=/Library/Java/JavaVirtualMachines/jdk-15.0.1.jdk/Contents/Home
    export JAVA8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home
    export JAVA_HOME=$JAVA8_HOME
    alias jdk8='export JAVA_HOME=$JAVA8_HOME'
    alias jdk15='export JAVA_HOME=$JAVA15_HOME'
    要使这段设置立即生效,直接执行下边命令
    source ~/.bash_profile
    这样当我们登录该用户后,默认使用 java1.8 版本
    如果我们输入 jdk15 则可以直接切换 到 java15 版本
    Note: alias 是用于设置命令别名,详情请参考: 在Linux中通过alias设置命令别名 | 《Linux就该这么学》
    MYSQL
    我们切换到当前用户主目录,然后编辑 .bash_profile 文件
    cd ~
    vim .bash_profile
    添加 mysql bin 目录路径到环境变量
    export PATH=$PATH:/usr/local/mysql/bin
    执行下边命令
    source ~/.bash_profile
    Python
    安装完毕python3以后,敲入命令 which python3,安装路径为:
    /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7
    我们将这个路径配入环境变量
    vim ~/.bash_profile
    最后面加入下面这行
    PATH=$PATH:Library/Frameworks/Python.framework/Versions/3.7/bin
    alias python="/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7”
    保存好后执行 source ~/.bash_profile 或者重启电脑。
    然后我们敲入python 即可调用我们的python3了
    Allure

    #设置allure的PATH

    export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

    export PATH=${PATH}:/Users/yourname/allure-2.17.1/bin

    有同学可能会问Mysql 和python的都是PATH 那会不会重复?能不能识别正确?
    path里面必然会有很多个路径, :表示了分割符,使用时软件会从前往后遍历
    ————————————————
    原文链接:https://blog.csdn.net/liuxiaoniudechuntian/article/details/121196855

  • 相关阅读:
    php一些技巧函数
    让apache不区分图片和文件后缀大小写
    ajax的同步和异步问题 (转)
    windows上在linux客户端上传小文件lrzsz
    linux查看时间和修改时间
    mysql常用命令
    yum安装 lnmp
    linux网卡设置详解
    centos最小安装,之后想安装x-windows,安装图形界面 startx
    optimize table table_name myisam mysql自动清除删除过留下的空记录
  • 原文地址:https://www.cnblogs.com/whoknows1/p/16817630.html
Copyright © 2020-2023  润新知