set、env、export差分
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差分的更多相关文章
- shell变量/环境变量和set/env/export用法_转
转自:shell环境变量以及set,env,export的区别 一.shell环境变量的分类以及set env export的区别: set:显示(设置)shell变量,包括的私有变量以及用户变量.不 ...
- set env export区别
set env export区别 set,env和export这三个命令都可以用来显示shell变量,区别[root@localhost root]# aaa=bbb[root@localhost r ...
- set,env,export,set -x,set -e;
set 用来显示本地变量 env 用来显示环境变量 export 用来显示和设置环境变量 set 显示当前shell的变量,包括当前用户的变量 env 显示当前用户的变量 export 显示当前导出成 ...
- bash中的set, env, export unset的区别
参考这篇文章很好 参考这篇文章2 -------------------------- == set显示的是当前shell的变量, 不同的shell, 它的私有变量是不同的 env是显示用户的变量, ...
- Linux set env export declare unset
http://www.it165.net/os/html/201405/8390.html env /etc/profile 环境变量 系统提供 可改 set /etc/bashrc及用户自定义的变量 ...
- set,env,export,source,exec傻傻分不清楚?
https://segmentfault.com/a/1190000013356532
- linux下的set, export, env的区别
set和export的区别 set可以用来显示所有变量的值,而export能将一个变量导出,在其子shell或子进程也可见 export和env的区别 两者的作用是一样的,只是env是一个外部工具 基 ...
- env
shell环境变量以及set,env,export的区别 原文链接 一.shell环境变量的分类以及set env export的区别: set:显示(设置)shell变量 包括的私有变量以及用户变量 ...
- 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 ...
随机推荐
- Swift - 区间运算符(... 和 ..<)
区间运算符可以用来表示两个操作数之间的范围集合. 1,闭区间运算符:a...b 1 2 3 for iCount in 512...1024{ //从512遍历到1024(包括1024) } ...
- AMR音频编码器概述及文件格式分析
全称Adaptive Multi-Rate,自适应多速率编码,主要用于移动设备的音频,压缩比比较大,但相对其他的压缩格式质量比较差,由于多用于人声,通话,效果还是很不错的. 一.分类 1. AMR: ...
- js错误 SyntaxError: missing : after property id
在用jquery的post方法时 $.post('adminCheckTpmisPlans.do',{'test',str},function(f){ ... }) 报如下错误 SyntaxError ...
- [Android学习笔记]Bitmap,BitmapDrawable,BitmapFactory学习笔记
Bitmap:图片文件的封装,可以看做是一张位图此类中的静态方法可以通过源Bitmap创建新的Bitmap对象此类封装了位图的一些信息Bitmap文档 BitmapFactory:一个工具类,用于创建 ...
- shodan
https://www.shodan.io/ from:http://www.exploit-db.com/wp-content/themes/exploit/docs/33859.pdf 0x00 ...
- 14.3.5.1 An InnoDB Deadlock Example
14.3.5 Deadlocks in InnoDB 14.3.5.1 An InnoDB Deadlock Example 14.3.5.2 Deadlock Detection and Rollb ...
- java matlab混合编程之返回值Struct类型
java matlab混合编程的时候当返回值是Struct类型(matlab中的返回类型)如何来取得(java中)其值? 上网找,看到这个网页:http://www.mathworks.cn/cn/h ...
- hdu 1007 最近点对问题(Splay解法)
为什么要写这个题..经典啊,当然,别以为我用分治做的,不过主要思想还是那神奇的六个点共存(一个h*2h的矩形中最多能放下多少个点使得两两距离不超过h) 其实我是在这里看到的 http://commun ...
- Android中九种dialog对话框代码
public class MainActivity extends Activity { private static final int MAX_PROGRESS = 100; private st ...
- 开源mp3播放器--madplay 编译和移植 简记
madplay是一款开源的mp3播放器. http://madplay.sourcearchive.com/ 下面简单记录一下madplay的编译与移植到ARM开发板上的过程 一.编译x86版本的ma ...