zoukankan      html  css  js  c++  java
  • Linux和Mac环境变量设置

    在linux和mac中设置环境变量我已知的有两种方式,一种是修改环境变量的文件,另一种是使用export关键字。之所以不提windows,是因为我所知的在windows上配置环境变量只有通过窗口然后点击这一种方式。

    以mac配置pyenv环境变量为例:

    1、export方式

    查看当前shell是zsh还是bash, 如果是bash选择下面的方式一,如果是zsh选择方式二

     dscl . -read /Users/$USER UserShell

    方式1 编辑.bash_profile文件

    终端执行命令:

    echo 'export PYENV_ROOT="$HOME/.pyenv"' >>~/.bash_profile
    
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >>~/.bash_profile
    
    echo -e 'if command -v pyenv 1>/dev/null 2>&1; then
     eval "$(pyenv init --path)"
    fi'>>~/.bash_profile

    方式2 编辑~/.zshrc 文件,

    终端执行命令:

    echo 'export PYENV_ROOT="$HOME/.pyenv"' >>~/.zshrc
    
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >>~/.zshrc
    
    echo -e 'if command -v pyenv 1>/dev/null 2>&1; then
     eval "$(pyenv init --path)"
    fi'>>~/.zshrc

    生效环境变量

    如果是bash

    source  ~/.bash_profile

    如果是zsh

    source  ~/.zshrc

    2、修改配置文件的方式

    还是得先查看当前shell是zsh还是bash, 如果是bash选择下面的方式一,如果是zsh选择方式二

     dscl . -read /Users/$USER UserShell

    方式1 编辑.bash_profile文件

    vim ~/.bash_profile

    任意找个位置添加下面这些配置

    export PYENV_ROOT="$HOME/.pyenv
    export PATH="$PYENV_ROOT/bin:$PATH"
    if command -v pyenv 1>/dev/null 2>&1; then
      eval "$(pyenv init --path)"
    fi

    方式2 编辑~/.zshrc 文件,

    vim ~/.zshrc

    任意找个位置添加下面这些配置

    export PYENV_ROOT="$HOME/.pyenv
    export PATH="$PYENV_ROOT/bin:$PATH"
    if command -v pyenv 1>/dev/null 2>&1; then
      eval "$(pyenv init --path)"
    fi

    生效环境变量

    如果是bash

    source  ~/.bash_profile

    如果是zsh

    source  ~/.zshrc

    无论是export还是直接修改文件的方式,最后想要配置生效,都需要source相关配置文件。

    关于export方式

    有同学在平时配环境的时候可能经常看到使用export xxx=yyyy这种后面没有重定向到文件的方式。

    这种直接在终端运行export关键字来添加环境变量的方式可以让变量立即生效,不需要source某个文件,但是这个方式只适用于当前终端,一旦当前终端关闭或在另一个终端中,则失效。

    顺便提一下,如果想去除通过这种方式添加的环境变量,使用unset xxx=yyy即可。

    如果需要将环境变量长久保存生效,则需要在export命令后面带上重定向的配置文件或者直接修改配置文件,然后对配置文件进行source生效。

  • 相关阅读:
    多态实现--虚函数与纯虚函数
    CentOS6编译安装gcc高版本
    Linux多进程CS服务器简单测试
    Linux单用户CS模型TCP通讯完全注释手册
    进程线程及其状态
    Java学习-字符串、字符、ASCII、数字的互相转换
    Java学习-素数
    Java学习-日期
    Java学习-多态
    Java学习-练习
  • 原文地址:https://www.cnblogs.com/hi3254014978/p/15172400.html
Copyright © 2011-2022 走看看