参考这篇文章很好

参考这篇文章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. oracle中的多表查询和子查询以及一些注意事项

    多表查询就是使用两张表及其以上的查询.首先需要知道几个名词,笛卡尔积,内连接,外连接,子查询. 1)笛卡尔积 所谓笛卡尔积其实就是两张表数据的条数相乘得到的最后结果,例如表1有10条数据,表2有4条数 ...

  2. Host xxx is not allowed to connect to this MariaDb server

    直接复制代码,无需修改 第一:// %:表示从任何主机连接到mysql服务器 GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'pass ...

  3. FileUtils.writeByteArrayToFile方法

    FileUtil类是Apache Commons IO库里面的一个类,是与文件相关的一个辅助类,我写了一个可运行的java文件 import java.io.*; import org.apache. ...

  4. 在Scrapy里设置Cookies 要注意一点!

    1.requests里设置cookies,可以将cookies放入headers里一同提交. {'Accept': 'text/html,application/xhtml+xml,applicati ...

  5. oracle高水位降低法

    1.什么是高水位?(high water mark 简称:HWM)     所有的oracle段(segments,在此,为了理解方便,建议把segment作为表的一个同义词)都有一个在段内存放数据的 ...

  6. C#基础知识之图解TCP IP》读书笔记

    一.网络基础知识 1. 计算机使用模式的演变 2.协议 协议就是计算机与计算机之间通过网络实现通信事先达成的一种“约定”.这种“约定”使那些由不同厂商的设备.不同的CPU以及不同的操作系统组成的计算机 ...

  7. HDU-1083-Courses(最大匹配)

    链接: https://vjudge.net/problem/HDU-1083#author=HUCM201732 题意: 题目大意: 一共有N个学生跟P门课程,一个学生可以任意选一 门或多门课,问是 ...

  8. 015:URLs分层模块化

    URLs分层模块化: 经过上面的14节课程,大伙有没有发现一个问题:那就是随着的项目功能模块越来越多,所有url匹配都写在一个urls.py文件中,其结果是:文件长,看着心累——需要分门别类:因此能不 ...

  9. linux RPM(红帽软件包管理器)和Yum软件仓库中常见的命令

    RPM(红帽软件包管理器)常用命令 安装软件:rpm -ivh filename.rpm 升级软件:rpm -Uvh filename.rpm 卸载软件:rpm -e filename.rpm 查询软 ...

  10. Vue的watch和computed方法的使用

    Vue的watch属性 Vue的watch属性可以用来监听data属性中数据的变化 <!DOCTYPE html> <html> <head> <meta c ...