Linux Source命令及脚本的执行方式解析

Linux Source命令及脚本的执行方式解析

当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录;这时就想到用source命令,如:source /etc/profile
对source进行了学习,并且用它与sh 执行脚本进行了对比,现在总结一下。

source命令:
source命令也称为“点命令”,也就是一个点符号(.),是bash的内部命令。
功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句
source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
用法:
source filename 或 . filename
source命令(从 C Shell 而来)是bash shell的内置命令;点命令(.),就是个点符号(从Bourne Shell而来)是source的另一名称。

source filename 与 sh filename 及./filename执行脚本的区别在那里呢?
1.当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得。./filename是因为当前目录没有在PATH中,所有"."是用来表示当前目录的。
2.sh filename 重新建立一个子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/stemon/p/4081493.html

相关资源:Leslie人口预测代码
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
限时福利限时福利,15000+程序员的选择! 购课后添加学习助手(微信号:csdn590),按提示消息领取编程大礼包!并获取讲师答疑服务! 套餐中一共包含5门程序员必学的数学课程(共47讲) 课程1:《零基础入门微积分》 课程2:《数理统计与概率论》 课程3:《代码学习线性代数》 课程4:《数据处理的最优化》 课程5:《马尔可夫随机过程》 哪些人适合学习这门课程? 1)大学生,平时只学习了数学理论,并未接触如何应用数学解决编程问题; 2)对算法、数据结构掌握程度薄弱的人,数学可以让你更好的理解算法、数据结构原理及应用; 3)看不懂大牛代码设计思想的人,因为所有的程序设计底层逻辑都是数学; 4)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; 5)想修炼更好的编程内功,在遇到问题时可以灵活的应用数学思维解决问题。 在这门「专为程序员设计的数学课」系列课中,我们保证你能收获到这些: ①价值300元编程课程大礼包 ②应用数学优化代码的实操方法 ③数学理论在编程实战中的应用 ④程序员必学的5大数学知识 ⑤人工智能领域必修数学课 备注:此课程只讲程序员所需要的数学,即使你数学基础薄弱,也能听懂,只需要初中的数学知识就足矣。 如何听课? 1、登录CSDN学院 APP 在我的课程中进行学习; 2、登录CSDN学院官网。 购课后如何领取免费赠送的编程大礼包和加入答疑群? 购课后,添加助教微信: csdn590,按提示领取编程大礼包,或观看付费视频的第一节内容扫码进群答疑交流!
后台技术选型: <ul style="color:#2F2F2F;"> <li> JDK8 </li> <li> MySQL </li> <li> Spring-boot </li> <li> Spring-data-jpa </li> <li> Lombok </li> <li> Freemarker </li> <li> Bootstrap </li> <li> Websocket </li> </ul> 小程序端技术选型 <ul style="color:#2F2F2F;"> <li> 微信小程序 </li> </ul> <div style="text-align:center;color:#2F2F2F;"> <div style="background-color:transparent;"> <div> </div> <div> <img alt="" src="https://upload-images.jianshu.io/upload_images/6273713-928017278f465cbd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp" /> </div> </div> <div style="font-size:14px;color:#969696;"> <br /> </div> </div> 小程序端 <div style="text-align:center;color:#2F2F2F;"> <div style="background-color:transparent;"> <div> </div> <div> <img alt="" src="https://upload-images.jianshu.io/upload_images/6273713-8d6c2b81701d32cd.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp" /> </div> </div> <div style="font-size:14px;color:#969696;"> <br /> </div> </div> <ul style="color:#2F2F2F;"> <li> 扫码点餐 </li> <li> 菜品分类显示 </li> <li> 模拟支付 </li> <li> 评论系统 </li> <li> 购物车 </li> </ul> <p> <span><img alt="" src="https://img-bss.csdn.net/201907270119553529.png" /><br /> </span> </p> <p> <span><img alt="" src="https://img-bss.csdn.net/201907270120098756.png" /><br /> </span> </p> <p> <span><img alt="" src="https://img-bss.csdn.net/201907270120405331.png" /><br /> </span> </p> <p> <span><img alt="" src="https://img-bss.csdn.net/201907270120538298.png" /><img alt="" src="https://img-bss.csdn.net/201907270121012487.png" /><br /> </span> </p>
<p> <span style="color:#494949;font-size:14px;"><br /> </span> </p> <p> <span style="color:#494949;font-size:14px;">为什么人人都要学Git?</span><span style="color:#494949;font-size:14px;">Git的由来可不简单,最初是由Linux之父-林纳斯.托瓦兹为了更好管理Linux内核代码而编写的,</span><span style="color:#494949;font-size:14px;">Git用于版本控制,可以说是开发日常必备,很好的解决了代码合并的问题,经得起频繁多人修改的考验!</span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14.6667px;"><br /> </span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">庞大的项目从来不是一个程序员可以搞定的,多人合作时代码版本管理显的尤为重要,千辛万苦改的Bug代码一合并没了怎么办?</span><span style="font-size:14px;">Git如此重要,相信作为程序员的你一定需要学习,2小时从根本理解Git!</span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;"><br /> </span> </p> <p class="ql-long-24357476" style="color:#494949;font-size:11pt;"> <span style="font-size:14px;color:#E53333;">学完即可轻松应对工作中 99% 以上的 日常代码管理 使用场景,实用性99.9999%!</span> </p> <p> <br /> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span class="ql-author-24357476"> </span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">这门课程,绝对不会让你觉得亏!</span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <br /> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">Git基本用法+Git高级用法+Git原理+课程教辅</span> </p> <p style="font-size:11pt;color:#494949;"> <span style="font-size:14px;"> </span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">本课程实用性极强,边学边用!<span style="background-color:#FF9900;">零基础</span>也能轻松入门~</span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;"><br /> </span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;color:#E53333;">在这门课中,我们保证你能收获到这些</span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">1)Git最佳实践</span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">2)版本管理</span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">3)分支管理</span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">4)标签管理</span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">5)解决冲突</span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">6)Git信息存储原理</span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;">7)深入理解Git三大分区</span> </p> <p class="ql-long-24357476" style="font-size:11pt;color:#494949;"> <span style="font-size:14px;"><br /> </span> </p> <p class="ql-long-24357476" style="color:#494949;font-size:11pt;"> <br /> </p> <p class="ql-long-24357476" style="color:#494949;font-size:11pt;"> <br /> </p> <p class="ql-long-24357476" style="color:#494949;font-size:11pt;"> <br /> </p> <p class="ql-long-24357476" style="color:#494949;font-size:11pt;"> --------------------------------------------------------------- </p>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页