当前位置: 首页 > news >正文

Linux source命令

通常用法:source filepath 或 . filepath

功能:使当前shell读入路径为filepath的shell文件并依次执行文件中的所有语句,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如source /etc/profile。

source命令(从 C Shell 而来)是bash shell的内置命令;点命令(.),就是个点符号(从Bourne Shell而来)是source的另一名称。这从用法中也能看出来。

 

source filepath 与 sh filepath 、./filepath的区别:

  1. 当shell脚本具有可执行权限时,用sh filepath与./filepath是没有区别的。./filepath是因为当前目录没有在PATH中,所有"."是用来表示当前目录的。

  2. sh filepath 会重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell是新建的,其改变的变量不会被带回父shell,除非使用export。

  3. source filename其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。

 

举例说明:

  1. 新建一个test.sh脚本,内容为:A=1;

  2. 修改其可执行权限:chmod +x test.sh;

  3. 运行sh test.sh后,echo $A,显示为空,因为A=1并未传回给当前shell;

  4. 运行./test.sh后,也是一样的效果;

  5. 运行source test.sh 或者 . test.sh,然后echo $A,则会显示1,说明A=1的变量在当前shell中;



转载自: https://www.cnblogs.com/pkufork/p/linux_source.html


相关文章:

  • Dubbo入门示例
  • 网络编程之BIO、NIO、AIO
  • 脏读+synchronized使用
  • volatile使用
  • Can not find the tag library descriptor for http://java.sun.com/jsp/jstl/ core
  • javax.servlet.jsp.JspException cannot be resolved to a type
  • 使用wait/notify模拟Queue+ThreadLocal
  • 多线程模式中的单例
  • Semaphore信号量
  • Linux中./configure、make、make install 命令
  • 无锁并行计算框架Disruptor
  • 重入锁+读写锁+公平锁+非公平锁
  • JVM各组成部分说明+相关参数设置
  • java中垃圾回收算法+垃圾收集器
  • Linux中安装Nexus+Maven
  • 0基础学习移动端适配
  • create-react-app做的留言板
  • express.js的介绍及使用
  • JS字符串转数字方法总结
  • spring security oauth2 password授权模式
  • Vue.js源码(2):初探List Rendering
  • Webpack 4x 之路 ( 四 )
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 代理模式
  • 计算机在识别图像时“看到”了什么?
  • 深度学习在携程攻略社区的应用
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 网络应用优化——时延与带宽
  • 云大使推广中的常见热门问题
  • 正则与JS中的正则
  • ​​​​​​​​​​​​​​Γ函数
  • ​低代码平台的核心价值与优势
  • (C语言)fread与fwrite详解
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (算法二)滑动窗口
  • (译) 函数式 JS #1:简介
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)Oracle存储过程编写经验和优化措施
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • (状压dp)uva 10817 Headmaster's Headache
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .Net IOC框架入门之一 Unity
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .stream().map与.stream().flatMap的使用
  • ??在JSP中,java和JavaScript如何交互?
  • @JSONField或@JsonProperty注解使用
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • @RestController注解的使用