转自https://zhidao.baidu.com/question/59790034.html  写得很清楚,就直接搬过来了备忘

作用:在当前bash环境下读取并执行FileName中的命令。

注:该命令通常用命令".”来替代。

使用范例:

1、source filename

2、. filename #(中间有空格)

source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是个点符号,(从Bourne Shell而来)是source的另一名称。

同样的,当前脚本中配置的变量也将作为脚本的环境,source(或点)命令通常用于重新执行刚修改的初始化文档,如 .bash_profile 和 .profile 等等。

例如,假如在登录后对 .bash_profile 中的 EDITER 和 TERM 变量做了修改,则能够用source命令重新执行 .bash_profile 中的命令而不用注销并重新登录。

比如在一个脚本里export $KKK=111 ,假如用./a.sh执行该脚本,执行完毕后,运行 echo $KKK,发现没有值,假如用source来执行 ,然后再echo,就会发现KKK=111。

因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是source不同他就是在本shell中执行的,所以能够看到结果。

source命令(从 C Shell 而来)是bash shell的内置命令。点命令,就是一个点符号,(从Bourne Shell而来)是source的另一名称。

这两个命令都以一个脚本为参数,该脚本将作为当前shell的环境执行,即不会启动一个新的子进程。所有在脚本中设置的变量将成为当前Shell的一部分。

扩展资料:

source命令的用法:

在编译核心时,常常要反复输入一长串命令,如:

这些命令既长,又繁琐。而且有时候容易输错,浪费你的时间和精力。如果把这些命令做成一个文件,让它自动按顺序执行,对于需要多次反复编译核心的用户来说,会很方便。

用source命令可以办到这一点。它的作用就是把一个文件的内容当成是shell来执行。

先在/usr/src/linux-2.4.20目录下建立一个文件,取名为make_command,在其中输入如下内容:

文件建立好之后,以后每次编译核心,只需要在/usr/src/linux-2.4.20下输入source make_command 就行了。这个文件也完全可以做成脚本,只需稍加改动即可。

shell编程中的命令有时和C语言是一样的。&&表示与,||表示或。把两个命令用&&联接起来,如 make mrproper && make menuconfig,表示要第一个命令执行成功才能执行第二个命令。

对执行顺序有要求的命令能保证一旦有错误发生,下面的命令不会盲目地继续执行。

最新文章

  1. 工业物联网或系统集成中应用消息队列(ActiveMQ,C#的demo)的场景全面分析
  2. Unsupported major.minor version
  3. MFC的消息管理
  4. 160914、ionic指令简单布局
  5. 程序员书单_java web编程篇
  6. C#中string.Format()和ToString()格式化方法
  7. 并发编程之--ConcurrentSkipListMap
  8. C语言-06数据类型-05 总结
  9. HDU 3899 简单树形DP
  10. [转]php连接postgresql
  11. ios 获取融云token
  12. Java之IO流概述和File基本操作
  13. Tomcat启动出现:Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SpringMvc]]解决办法
  14. 使用ESMap的地图平台开发三维地图
  15. IDEA+循环语句 or 输出语句 快捷操作
  16. C#ATM
  17. Globecom 2018 投稿过程
  18. Android-Recyclerview-GridView&瀑布流等效果
  19. spark LinearRegression 预测缺失字段的值
  20. 奇怪的php问题

热门文章

  1. JVM 专题十三:运行时数据区(八)直接内存
  2. java大数据最全课程学习笔记(1)--Hadoop简介和安装及伪分布式
  3. mysql中DDL库和表的管理
  4. nginx反向代理导致session失效的问题处理
  5. bzoj2134单选错位
  6. Python Ethical Hacking - Malware Packaging(1)
  7. 【SpringBoot】 中时间类型 序列化、反序列化、格式处理
  8. 大厂0距离:网易 Linux 运维工程师面试真题,内含答案
  9. vector基本用法
  10. MySQL数据库---表的操作