set,env和export命令显示shell变量其区别,与环境变量扫盲(一)

种类:

  ? set     :  用来显示本地变量,显示当前shell的变量,包括当前用户的变量
  ? env    :  用来显示环境变量,显示当前用户的变量。
  ? export:  用来显示和设置环境变量, 显示当前导出成用户变量的shell变量

解释:

  ?每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比如HOME,SHELL等这些变量,但shell自己的变量不同shell是不同的,比如BASH_ARGC, BASH等,这些变量只有set才会显示,是bash特有的,export不加参数的时候,显示哪些变量被导出成了用户变量,因为一个shell自己的变量可以通过export “导出”变成一个用户变量

实例:

[[email protected] ~]# aaa=bbb

[[email protected] ~]# echo $aaa
bbb

[[email protected] ~]# set|grep aaa
aaa=bbb

[[email protected] ~]# env|grep aaa

[[email protected] ~]# export aaa

[[email protected] ~]# env|grep aaa
aaa=bbb

那我们再来科普一下环境变量:

1.什么是环境变量:

2.为什么要使用环境变量?

3.常见的环境变量有哪些?

1.什么是环境变量?

  ? Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境 变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。

  ? 环境变量是一个具有 特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。许多用户(特别是那些刚接触Linux的新手)发现这些变量有些怪异或者难以控制。其 实,这是个误会:通过使用环境变量,你可以很容易的修改一个牵涉到一个或多个应用程序的配置信息。

2.为什么要使用环境变量?

  ?在一些软件在启用是需要先启动启动文件,或者一些配置文件,这样如果配在环境变量里面了系统就能找到这些文件并进行使用了,就相当于我告诉系统我要用的这个东西在哪放着,要用的时候系统就会默认的从这个路径下面去取要用的东西。

3.常见的环境变量有哪些?

  ? PATH 决定了shell将到哪些目录中寻找命令或程序 
  ? HOME 当前用户主目录 
  ◆ HISTSIZE是指保存历史命令记录的条数。

  ◆ LOGNAME是指当前用户的登录名。◆ HOSTNAME是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。

  ◆ SHELL是指当前用户用的是哪种Shell。

  ◆ LANG/LANGUGE是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。

  ◆ MAIL是指当前用户的邮件存放目录。

  ◆ PS1是基本提示符,对于root用户是#,对于普通用户是$。PS2是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符,比 如下列命令会将提示符修改成字符串“Hello,My NewPrompt  ”。

  ? Classpath设置的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包。

原文地址:https://www.cnblogs.com/insane-Mr-Li/p/9096920.html

时间: 2024-10-11 16:23:36

set,env和export命令显示shell变量其区别,与环境变量扫盲(一)的相关文章

Linux编程 11(shell全局环境变量与局变环境变量)

一.概述 在linux中,很多程序和脚本都通过环境变量来获取系统信息,存储临时数据,配置信息.环境变量是指用来存储有关shell会话和工作环境信息,允许你在内存中存储数据,以便程序或shell中运行的脚本能够轻松访问到它们.也是存储持久数据的一种简便方法.在bash shell中,环境变量分为:全局和局部二类环境变量. 1.1全局环境变量 全局环境变量对于shell会话和所有生成的子shell都是可见的.局部变量则只是创建它们的shell可见.在linux系统中有系统环境变量,它们基本都是使用全

shell 脚本实战笔记(2)--环境变量PATH的恩怨情仇

在linux环境下, 相信大家对环境变量PATH, 多多少少有所接触, 这边讲讲PATH的在linux的前世因缘. 先讲讲一个列子 假如我们在为一个新的应用配置其PATH路径中时,  不小心忽略了原先的$PATH内容, 把原本的PATH=/path/to/newcmd:$PATH, 写成了PATH=/path/to/newcmd, 并不小心写入了~/.bashrc, 并且source ~/.bashrc. 这时会发生什么? 我们如何去处理这种情况? 所有的命令都不能用了, 想回去编辑~/.bas

小鸟初学Shell编程(九)环境变量变量配置文件

介绍 在上一篇使用完了环境变量,并且知道PATH环境变量概念,那么我们对命令的执行就有了一定深入的理解.那么PATH环境变量或其他环境变量是保存在哪呢?那么这篇文章主要介绍环境变量配置文件. 配置文件 环境变量主要保存在以下四个文件和一个目录中: /etc/profile /etc/profile.d/ ~/.bash_profile ~/.bashrc /etc/bashrc 保存在/etc/目录下的配置文件,都是所有用户通用的配置,就是不管是root用户还是普通用户. 保存在~/用户家目录的

Java环境变量和ant/maven环境变量设置

1.java环境变量 windows环境下配置为:CLASSPATH.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;JAVA_HOMEC:\Program Files\Java\jdk1.6.0_45在Path中追加上为:%JAVA_HOME%\jre\bin;%JAVA_HOME%\bin; linux环境下配置为:在Ubuntu14.04版本系统下设置为:export JAVA_HOME=/usr/local/java/jdk1.6.0_

Linux学习之路:shell变量(二)环境变量

1.env (environment 的缩写)和export显示所有环境变量 2. 环境变量说明 环境变量 意义 HOME 用户主文件夹相当于"~" SHELL Linux默认为/bin/bash HISTSIZE history记录的条数 MAIL mail 读取邮件的目录(每个用户不同):/var/spool/mail/root PATH 执行文件查找路径,路径之间用:分隔,查找的顺序为PATH中次序 LANG 语系数据中文:zh_CN.gb2312和zh_CN.UTF-8 RAN

shell配置java环境变量和批处理配置环境变量

linux配置java环境只需在/etc/profile中添加以下 前提是把jdk解压到/usr/local路径,当然路径可以随便改 export JAVA_HOME=/usr/local/jdk1.7.0_79 export JAVA_BIN=$JAVA_HOME/bin export PATH=$PATH:$JAVA_BIN export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 添加完毕后,执行 source /etc

java环境变量的设置 各环境变量的作用

path:(大小写无关) 系统变量Path告诉操作系统可执行文件(*.exe.*.bat等)所在的路径,当OS(操作系统)发现某个*.exe时,windows默认从当前目录开始查找这个命令,若查不到,OS就会到Path所设定的路径中去寻找该命令,然后执行.系统默认的系统变量为: Path =%SystemRoot%;%SystemRoot%/system32;%SystemRoot%/System32/Wbem 就是说处于上面3个目录(多个变量用分号隔开)中的*.exe文件,可以在任意地方被执行

Java 环境变量,Python2.7环境变量,python环境变量配置

-----------------------------------------Java---------------------------------------------------- JAVA_HOME C:\Program Files\Java\jdk1.8.0_05; Path %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; CLASS_PASS %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; ----

环境变量说明

在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法. 下面所有例子的环境说明如下: 系统:CentOS 7 用户名:root 需要配置JDK环境变量路径:/usr/java/jdk/bin 一.读取环境变量 读取环境变量的方法有两种: export命令显示当前系统定义的所有环境变量 echo $PATH命令输出当前的PATH环境变量的值 这两个命令执行的效果如下: [[email protected] ~]# export declare -x HISTCONTRO