美文网首页程序员
PATH 环境变量

PATH 环境变量

作者: 玩家翁伟 | 来源:发表于2018-08-20 11:59 被阅读5次

    经常使用命令行工具的话,对PATH等环境变量应该会非常熟悉;但现今的日常开发,接触到这一概念的机会越来越少。

    时不时还是会遇到小朋友问我:“什么是PATH?”

    这里记录一下,以供参考。

    什么是环境变量?

    环境变量是操作系统提供给应用程序访问的简单 key / value字符串;windows/linux/mac都有同样的概念。

    一般用于提供参数值给不同的应用程序。

    什么是PATH变量?

    我们从命令行想要运行一个程序的时候,待运行的程序往往不是在当前目录。

    PATH变量就是用于保存可以搜索的目录路径,如果待运行的程序不在当前目录,操作系统便可以去依次搜索PATH变量变量中记录的目录,如果在这些目录中找到待运行的程序,操作系统便可以运行。

    Go开发为例,但我们使用go install命令编译、安装go程序后,可执行文件是会被保存在$GOPATH/bin路径下;那么我们可以把这个路径加入PATH变量中,这样我们便可以在任意路径中运行go安装的程序。

    GOPATH

    GOPATH又是一个环境变量,用于保存go的主目录,go默认安装之后,GOPATH会是当前用户的主工作目录中的go子目录,即:%HOME/go

    查看环境变量

    假设我们要查看GOPATH这个环境变量的值:

    • windows command prompt: echo %GOPATH%
    • windows powershell: $env:GOPATH
    • linux & mac: echo $GOPATH

    设置PATH变量

    windows

    假设我们当前登陆操作系统的用户名是:xiaomin

    然后我们要把c:\users\xiaomin\go\bin路径加入到PATH变量中,在windows下我们可以在PowerShell中执行:

    $env:Path += ";c:\users\xiaomin\go\bin"
    

    注意,这样仅仅只是临时修改当前的PATH变量,当我们关闭、重开PowerShell时,就需要重新设置。

    如果要永久的修改,需要使用管理员权限启动PowerShell,然后执行:

    setx /M PATH "%PATH%;c:\users\xiaomin\go\bin"
    

    Linux & Mac

    同样假设我们当前登陆用户名是:xiaomin

    然后我们要把/home/xiaomin/go/bin路径加入到PATH变量

    export PATH=$PATH:/home/xiaomin/go/bin
    

    这同样是临时修改,重开shell之后,会被重置;要永久改变的话,一般是将上面的命令加入到我们使用的shell初始化文件中。

    以bash为例,那么就是将上述命令加到/home/xiaomin/.bash_profile文件中。

    相关文章

      网友评论

        本文标题:PATH 环境变量

        本文链接:https://www.haomeiwen.com/subject/oawkiftx.html