首页 > 其他分享 >环境变量

环境变量

时间:2022-09-19 23:12:13浏览次数:59  
标签:python 环境 命令 PATH 环境变量 bash

环境变量,简单来说就是描述程序执行环境的一组变量。

1、什么程序执行环境?

环境已经基础词汇呢,我们通常都用环境去解释别的词,想一下,日常生活怎么用环境。你到一个新地方,我问你环境怎么样?你会回答我,天气怎么样,温度怎么样,等,那么你可以告诉我,在一个新地方,我问你环境怎么样,你依然告诉我,天气怎么样,温度怎么样。可以看出来天气和温度是两个变量,天气=优,温度=适中,就描述了一种幻觉,天气=差,温度=高,又描述了另一种环境。回想计算机环境变量是否也以这种形式出现呢?最常见的环境变量PATH=“”,该变量的作用是你在命令行工具输入一个命令默认搜索路径,你装完python,在命令行输入python不配置环境的话就会出现command not found,那么你可以将python解释器,移动到PATH后面对应的目录,或者将python的现有的路径添加到PATH后面,例如

PATH=$PATH:python对应的路径

如果直接写PATH=python对应的路径,他会覆盖掉以前的值,此时你执行其他命令时,他会报错,因为现在默认的搜索路径是你的python路径,里面是没有那些命令的。$后面加变量意思是取他的值的意思,意思就是把原本的PATH的值取了在续上你新加的。

Linux env命令可以列出所有环境变量,每个变量都他的作用慢慢介绍。

sunwei@sunweideMacBook-Pro ~ % env                                          
__CFBundleIdentifier=com.apple.Terminal
TMPDIR=/var/folders/sd/wf3y8tsn0d7c8l9vkvk7bt_h0000gn/T/
XPC_FLAGS=0x0
TERM=xterm-256color
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.EckTgDvpAA/Listeners
XPC_SERVICE_NAME=0
TERM_PROGRAM=Apple_Terminal
TERM_PROGRAM_VERSION=445
TERM_SESSION_ID=CDA5986B-000C-48A3-BBD0-D708523A6094
SHELL=/bin/zsh
HOME=/Users/sunwei
LOGNAME=sunwei
USER=sunwei
PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
SHLVL=1
PWD=/Users/sunwei
OLDPWD=/Users/sunwei
LANG=zh_CN.UTF-8
_=/usr/bin/env

2、什么是命令?

相信上面的介绍会让你似懂非懂,接下来详细介绍什么是命令,当你理解了什么命令后,你会对环境命令有更深刻的认识,命令其实就是一个可执行程序,Linux可执行程序基本是以ELF结构存储。你写的一个c编译后生成的a.out也可以是命令,执行的时候是不是./a.out, ‘.’在Linux系统代表是当前路径,意思就是当前路径搜索a.out,就执行了,想想上面介绍的PATH变量是干嘛的,如果我想直接输入a.out就能执行,应该怎么做?(聪明的你应该能想到,文末揭晓)。下面介绍一个命令是怎么运行起来的。

操作系统是一个大的可执行程序,开机以后操作系统(操作系统启动也有很多细节)就开始运行了,图形化操作系统启动后,运行的第一个程序就是桌面程序,非图形化操作系统第一个启动的程序就是命令行工具,命令行工具有很多,可以根据自己的喜好配置,常见的会启动一个bash,bash也是一个程序,那么上面提到,程序运行就会有环境变量控制他的环境,他的环境变量被存储在~/.bash_profile文件中,bash启动时就会读取里面的配置设置环境变量,启动完毕后,就一直在执行bash程序,等到你的输入,当你输入一个命令时,他会去PATH路径下搜索该命令,此时如果你输入的不是命令,直接输入PATH=‘’,或者更改其他环境变量。或许你听过这样的话,每个进程都有自己的独立的运行环境,当你输入一个命令时,是一个可执行程序,应该是启动了一个新的进程,怎么会影响你后续执行的程序呢?因为bash开始运行,他一直在等待你的输入,你输入的命令启动程序创建的进程都是bash的子进程,创建进程系统调用是fork,叉子的意思,他会把父进程完完全全复制一份,包括执行时环境,因此你设置新值后,后续启动的程序环境都被改变了。但是当你关闭bash再次启动你刚才改的就恢复,如果想永久有效,更改.bash_profile文件即可。

标签:python,环境,命令,PATH,环境变量,bash
From: https://www.cnblogs.com/hellosewell/p/16709475.html

相关文章

  • 《Linux系统 —— 环境变量》
    查看当前环境变量:查看当前环境变量:echo$PATH或env 设置环境变量的三种方法:1.临时设置exportPATH=/home/yan/share/usr/local/arm/3.4.1/bin:$PATHexportLD_......
  • Centos7环境变量设置
    Centos7环境变量设置最近,我从cnaaa.com上购买了云服务器,开通了centos系统。1、环境变量的含义程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变......
  • jdk 1.8 环境变量的配置
    “”我的电脑“”→右键 → 属性                         ......
  • 如何设置service中容器的运行环境?环境变量、用户、工作目录?
    0、导语 今天的文章呢,主要为你解决3个问题: 1、如何为service中运行的容器设置环境变量?2、如何指定容器以什么用户执行?3、容器的工作目录(workdir)? 下面咱们一......
  • 实例-rust-打开环境变量
    main.rsusestd::process::Command;fnmain(){letoutput=ifcfg!(target_os="windows"){Command::new("cmd").arg("/C")......
  • 动态设置环境变量
    @echooffsetworkDir=%~dp0setPYTHON_HOME=%workDir%\python-3.7.3-embed-amd64setPATH=%PYTHON_HOME%rem配置src目录的父目录setprojectPath=%workDir%\..\..\..\se......
  • linux系统环境变量
    打印环境变量打印环境变量命令命令说明set显示当前shell的所有变量包括其内建环境变量(与shell外观等相关),用户自定义变量及导出的环境变量env显示与当前......
  • Linux 配置 jdk 环境变量
    本文是为了自己学习记录的,有参考各路大神在安装之前,查看当前Linux系统是否已经安装java,输入rpm-qa|grepjava卸载两个openJDK输入rpm-e--nodeps要卸载的软件......
  • MAC设置JAVA环境变量
    JAVA.bash_profile为每个用户配置环境变量,用户登录后会自动读取一次我们切换到当前用户主目录,然后编辑.bash_profile文件cd~vim.bash_profile输入内容假如我们有......
  • mac下jmeter环境变量配置
    转载自:https://www.jianshu.com/p/ecc101b19b0a ======================================== 终端用的zsh,用jmeter做测试先在home目录下新建.bash_profile输入ex......