参考这篇文章很好

参考这篇文章2

-------------------------- ==

set显示的是当前shell的变量, 不同的shell, 它的私有变量是不同的

env是显示用户的变量, 在不同的shell中, 用户变量都是一样的

export是指将shell变量 导出到 用户变量中的 那些变量.

某个用户登陆linux的时候, 执行的过程是:

/etc/profile -> (.bash_profile [通常只有这个文件] | .bash_login | .profile ) -> .bashrc -> /etc/bashrc -> .bash_logout

在.bash_profile中有:

if [ -f ~/.bashrc ]; then
. .bashrc
fi # bash脚本编程中: 如果你表示单纯的 纯粹的字符串, 一定要使用 双引号
# 但是如果你要表示除 纯粹字符串之外的 内容: 如: 文件/ 文件夹 /文件集合等 就不要加 引号 # 文件集合: 在bash中支持 通配符的使用: * ?
如: for i in /etc/profile.d/*.sh; do .....
done # shell bash编程中, 除了函数使用{ }外, 语法结构, 如if for 等都不是使用大括号来
# 界定范围的, 而是用关键字来界定范围的
# 如: if ... then ... else ...fi for i in ...; do ....done bash编程中的函数 通常是不需要 返回值的,
如果需要:[参考文章](http://blog.chinaunix.net/uid-726813-id-2060120.html) wget -c ....中的-c 是指 continue, 即断点续传的意思...



图中的source就是引入来源的意思, 所以这个命令就是 source: source the global definition

定义一个变量的时候, 要var=value, 紧挨着写, 不要分开写: var = value,

因为这样的话, bash会将var解释成一个命令, 而实际上这样的命令是没有的!

bash中的set, env, export unset的区别的更多相关文章

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

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

  2. Bash 中的环境变量

    在 Bash 里,可以通过 export 命令查看当前 Shell 进程的环境变量,这些环境变量一些是 Bash 自己创建的,还有一些是 Bash 从父进程继承来的,然而需要注意的是,父进程传给 Ba ...

  3. Bash 中的 _ 是不是环境变量

    首先,我们想到的会是 export(等价于 declare -x)命令: $ export | grep 'declare -x _=' 没有找到,那么结论就是 _ 不是环境变量?当然没那么简单,否则 ...

  4. Bash中的变量

    Bash中的变量1.用户定义的变量变量的定义  用户定义的变量有字母数字及下划线组成,并且变量名的第一个字符不能为数字.            与其它UNIX名字一样,变量名是大小写敏感的. 对于变量 ...

  5. set env export区别

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

  6. Linux bash中的变量分类

    1.本地变量 VAR=XYZ 2.局部变量 local VAR=XYZ 3.环境变量 在子shell中可以起作用 export VAR=XYZ 4.位置变量 $0 脚本名本身 $1 第一个参数 $2 ...

  7. Bash 中的 $0 在什么时候不是 argv[0]

    每个 C 程序都有一个 main 函数,每个 main 函数都有一个 argv 参数,这个参数是一个字符串数组,这个数组的值是由该 C 程序的父进程在通过 exec* 函数启动它时指定的. 很多人说 ...

  8. Bash中的任务(job)管理

    本来不准备写这篇博客的,因为任务管理(job管理)非常非常常用,以至于觉得根本没有必要去写这样一个东西.但想了下,还是记录一下吧,也许有人会用到呢. 不知你是否碰到过这样的情况,当你兴致勃勃的打开VI ...

  9. bash中不可以用字符串做数组下标

    bash中可以用字符串做数组下标吗例如 test["abc"]=1------解决方案-------------------- 好像是误会,是awk里可以,bash shell里不 ...

随机推荐

  1. 22、nlpir 人工智能

    练习介绍 [程序功能] 我们将完成一个和语义识别相关的爬虫程序,输入任意词汇.句子.文章或段落,会返回联想的词汇. [背景信息] 有一个非常牛的处理语言的网站nlpir,上面有非常多的处理语言的功能( ...

  2. sublime text 3 环境设置

    1. 设置build system 环境 tool -> build system -> new build system ,粘贴以下代码并保存 { "cmd":[&q ...

  3. java.lang.IllegalArgumentException: id to load is required for loading

    java.lang.IllegalArgumentException: id to load is required for loading at org.hibernate.event.LoadEv ...

  4. PHPStorm 远程开发教程

    目的:实现在windows下开发,而所改变代码自动同步到虚拟机 查看虚拟机的 IP地址 配置代码自动同步信息 通过页面上部的选项卡,切换到 Mappings 根路径:指的都是项目代码的根路径 点击一次 ...

  5. drf三大认证解析

    目录 三大认证 认证模块: 权限模块 频率模块 RABC author组件 认证权限六表. Content_type 认证与权限工作原理+自定义认证类 自定义权限类 admin关联自定义用户表 前后台 ...

  6. react中父组件给子组件传值

    子组件 state = { msg: 'a' } render(){ return<h1>{this.state.msg}</h1> } setInfo = (val)=> ...

  7. id 显示用户与用户组的信息

    id 显示用户与用户组的信息 1.命令功能 id显示指定用户的用户ID和组ID等信息. 2.语法格式 id  option  username 参数说明 选项 选项说明 -gx 显示用户组ID -G ...

  8. .htaccess A网站单页面301到B网站单页面

      .htaccess 301问题 A网站  a.com/a.html 301到 B网站 b.com/b.html   RewriteRule ^a.com/a.html$ http://www.b. ...

  9. WPF手动触发路由事件

    MouseButtonEventArgs args = , MouseButton.Left); args.RoutedEvent = UIElement.MouseLeftButtonDownEve ...

  10. VMware主机使用无线上网

    VMware主机使用无线上网,默认的NAT连接在ubuntu下上不了网,需要把网络适配器改成桥接模式.