linux下source命令使用详解

发布时间 - 2026-01-10 22:40:15    点击率:

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中

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# linux  # source  # 命令  # linux用户source .bashrc或.profile找不到文件的解决  # SpringBoot部署到Linux读取resources下的文件及遇到的坑  # linux系统虚拟主机开启支持SourceGuardian(sg11)加密组件的详细步骤  # 如何解决Linux环境变量每次要source /etc/profile问题  # 而来  # 可执行  # 进行了  # 是一个  # 我想  # 是个  # 是因为  # 也就  # 在那里  # 当我  # 使其  # 让它  # 使之  # 用它  # 则会  # 大家多多  # 为空  # 新建一个  # 而不必  # 举例说明 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何构建RESTful API_Laravel标准化API接口开发指南  用v-html解决Vue.js渲染中html标签不被解析的问题  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  Laravel怎么清理缓存_Laravel optimize clear命令详解  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  高防服务器:AI智能防御DDoS攻击与数据安全保障  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  如何在建站宝盒中设置产品搜索功能?  高端企业智能建站程序:SEO优化与响应式模板定制开发  非常酷的网站设计制作软件,酷培ai教育官方网站?  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  浅谈Javascript中的Label语句  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  详解jQuery停止动画——stop()方法的使用  如何为不同团队 ID 动态生成多个“认领值班”按钮  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  如何快速生成橙子建站落地页链接?  如何选择PHP开源工具快速搭建网站?  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  如何快速生成专业多端适配建站电话?  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  香港服务器网站卡顿?如何解决网络延迟与负载问题?  焦点电影公司作品,电影焦点结局是什么?  在centOS 7安装mysql 5.7的详细教程  微信h5制作网站有哪些,免费微信H5页面制作工具?  如何在腾讯云服务器快速搭建个人网站?  如何用PHP快速搭建高效网站?分步指南  如何在局域网内绑定自建网站域名?  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  javascript读取文本节点方法小结  实现点击下箭头变上箭头来回切换的两种方法【推荐】  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  如何确保西部建站助手FTP传输的安全性?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  深圳网站制作培训,深圳哪些招聘网站比较好?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  如何在宝塔面板中创建新站点?  Laravel如何实现事件和监听器?(Event & Listener实战)  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  如何在IIS中配置站点IP、端口及主机头?  Laravel如何使用Livewire构建动态组件?(入门代码)  网站建设整体流程解析,建站其实很容易!  Thinkphp 中 distinct 的用法解析