set:显示当前shell变量,用户变量包含当前用户

env:显示用户变量

export:显示当前导出成用户变量的shell变量

举例来说:

root@kali:~#
aaa=bbb            设置一个变量,此时设置的变量为shell变量

root@kali:~# echo $aaa          显示刚刚设置的变量

bbb

root@kali:~# set|grep aaa      显示并搜索当前的shell变量。找到刚刚设置的aaa变量

aaa=bbb

root@kali:~# env |grep aaa    显示并搜索当前登录用户的变量,由于aaa是shell变量。所以搜索不到

root@kali:~# export aaa         将aaa这个shell变量导出成用户变量

root@kali:~# env |grep aaa    这个时候搜索用户变量就能够搜索出aaa

aaa=bbb

root@kali:~#

每一个shell都有自己特有的变量,这和用户变量是不同的。当前用户变量和你用什么shell无关。无论你用什么shell都是存在的。比方HOME,SHELL等这些变量,但shell也有自己的变量,不同的shell是不同的,比方BASH_ARGC。
BASH等。这些变量仅仅有set才会显示,是bash特有的。export不加參数的时候,显示哪些变量被导出成了用户变量,由于一个shell自己的变量能够通过export “导出”变成一个用户变量。

清除环境变量用unset命令。set env  export设置的变量,都能够用unset来清除

另外,shell(这里指bash)的初始化过程是这种:

1.bash 检查文件/etc/profile 是否存在

2. 假设存在。bash 就读取该文件。否则。跳过

3.bash 检查主文件夹下的文件.bash_profile 是否存在。

4. 假设存在。bash 就读取該文件,否则,跳过

5.bash 检查主文件夹下的.bash_login 是否存在。

6. 假设存在,bash 就读取该文件。否则。跳过

7.bash 检查主文件夹下的文件.profile 是否存在

8. 假设存在, bash 就读取该文件,否则,跳过。

这些步骤都运行完后。就出现提示符了, ksh 默认提示符是 $.

參考引用

http://www.opsers.org/base/set-env-and-export-the-difference-between-the-three-command.html

http://blog.csdn.net/longxibendi/article/details/6125075

http://www.linuxeden.com/html/sysadmin/20080424/56879.html

set、env、export差分的更多相关文章

  1. shell变量/环境变量和set/env/export用法_转

    转自:shell环境变量以及set,env,export的区别 一.shell环境变量的分类以及set env export的区别: set:显示(设置)shell变量,包括的私有变量以及用户变量.不 ...

  2. set env export区别

    set env export区别 set,env和export这三个命令都可以用来显示shell变量,区别[root@localhost root]# aaa=bbb[root@localhost r ...

  3. set,env,export,set -x,set -e;

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

  4. bash中的set, env, export unset的区别

    参考这篇文章很好 参考这篇文章2 -------------------------- == set显示的是当前shell的变量, 不同的shell, 它的私有变量是不同的 env是显示用户的变量, ...

  5. Linux set env export declare unset

    http://www.it165.net/os/html/201405/8390.html env /etc/profile 环境变量 系统提供 可改 set /etc/bashrc及用户自定义的变量 ...

  6. set,env,export,source,exec傻傻分不清楚?

    https://segmentfault.com/a/1190000013356532

  7. linux下的set, export, env的区别

    set和export的区别 set可以用来显示所有变量的值,而export能将一个变量导出,在其子shell或子进程也可见 export和env的区别 两者的作用是一样的,只是env是一个外部工具 基 ...

  8. env

    shell环境变量以及set,env,export的区别 原文链接 一.shell环境变量的分类以及set env export的区别: set:显示(设置)shell变量 包括的私有变量以及用户变量 ...

  9. Oracle数据库升级(10.2.0.4->11.2.0.4)

    环境: RHEL5.4 + Oracle 10.2.0.4 目的: 在本机将数据库升级到11.2.0.4 之前总结的Oracle数据库异机升级:http://www.cnblogs.com/jyzha ...

随机推荐

  1. perl 异步请求和JS对比

    perl 异步和js对比: /js************** $(function(){ function isPhone(str){ var regex = /[0-9]{11,11}/; ret ...

  2. zip非暴力破解

    大家最熟悉的zip破解方式应该是暴力破解,暴力破解有很大局限性,如果密码很长很复杂你很可能一辈子都破解不出来.由于今天要破解自己以前加密过的zip文件,我设的密码习惯性长而复杂,果断放弃暴力破解,在网 ...

  3. (Android) Download Images by AsyncTask API

    1. Check network status AndroidManifest.xml <uses-sdk> ... </> <uses-permission andro ...

  4. go运算符

    package main import ( "fmt" ) func main() { fmt.Println(^) } -3 package main import ( &quo ...

  5. URAL 1056(树形DP)

    1056. Computer Net Time limit: 2.0 second Memory limit: 64 MB Background Computer net is created by ...

  6. Andy&#39;s First Dictionary

    Description Andy, 8, has a dream - he wants to produce his very own dictionary. This is not an easy ...

  7. iOS 史上最全的图片压缩方法集合

    做上传图片功能,特别是类似于微信,QQ里面,公布9张图片, 少不了碰到一个问题,就是图片压缩问题,当然我也遇到了. 我研究了这个问题,发现网上普遍的方法是例如以下 //压缩图片质量 +(UIImage ...

  8. DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类)

    DAO设计模式实现数据库的增删改查(进一步封装JDBC工具类) 一.DAO模式简介 DAO即Data Access Object,数据访问接口.数据访问:故名思义就是与数据库打交道.夹在业务逻辑与数据 ...

  9. 南阳OJ 16 矩形嵌套

    描写叙述 有n个矩形,每个矩形能够用a,b来描写叙述,表示长和宽. 矩形X(a,b)能够嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度). ...

  10. C编译: 使用gdb调试

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! gdb是the GNU Debugger的简称.它是一款UNIX平台的调试器(de ...