Linux 是一个强大而灵活的操作系统,它提供了许多内置的 shell 命令,让我们可以方便地管理和控制系统的行为。其中一个非常有用的命令就是 source,它可以让我们从文件中读取并执行命令,而不需要创建新的进程或环境。source 命令有什么作用?它如何使用?它与 bash 命令有什么区别?本文将为你详细介绍 source 命令的奥秘,让你驾驭 Linux 的超强能力。
关于source命令及其执行方式: 在Linux系统中,source是一个内置的Shell命令,它读取并执行当前Shell中文件的内容。这些文件通常包含一系列要交给TCL解释器读取和运行的命令。
如果提供了任何参数,它们将成为将由source执行的[文件名]的位置参数。否则,位置参数保持不变。
$PATH中的条目用于查找包含[文件名]的目录,然而,如果文件在$PATH中不存在,它将在当前目录中搜索文件。source命令没有选项,参数只能是文件名。
语法:
source [filename] [arguments]
其中:
[filename]:要由source命令执行的文件的名称或路径。
[arguments]:当文件执行时,您提供的任何参数将成为位置参数。
点(句点)字符可以代替source命令,产生相同的输出:
. [filename] [arguments]
示例:
创建一个名为 linuxmi.txt 的文件,并将以下命令粘贴到其中。
echo “Hello Linux迷 www.linuxmi.com” pwd date echo $PATH
现在运行source命令,使用你刚刚创建的文件的正确路径。确保你使用了正确的文件路径。
source linuxmi.txt
以上的source命令读取并执行了提供的文件中的命令。
输出如下:

重要提示: 小心!”./”和”source”不完全相同。
“./script”将脚本作为可执行文件运行,启动一个新的shell来运行它。 “source script”从当前shell环境中读取并执行文件中的命令。 注意:”./script”不等于”. script”,但”. script”等同于”source script”。
如何使用source命令读取配置文件:
借助source命令,我们可以创建一个配置文件并在另一个文件中读取它。
基本上,我们需要创建两个文件:
sample-config.sh → 包含一些随机配置
config-reader.sh → 读取配置文件并执行一些操作。
在同一个目录下创建这些文件。
创建 sample-config.sh 并添加以下命令:
profile_page="https://www.linuxmi.com/" article_list="https://linux.linuxmi.com/"
创建config-reader.sh并添加以下命令:
#!/usr/bin/env bash source sample-config.sh echo "*****************************" echo "Profile Page : $profile_page" echo " List of Articles : $article_list" echo "*****************************"

config-reader.sh文件包含一个使用配置文件的source命令。它在后续命令中使用了config-reader.sh文件中的file变量。
输出:
执行以下命令以读取配置并在当前文件中使用它们 source config-reader.sh
如下图:

刷新当前的Shell环境:
有时我们希望为经常使用的命令设置一个别名,以便在任何Shell会话中更容易使用。
我们可以通过创建一个如下所示的Shell别名命令来开始:
alias ll=’ls -ltrh’
该命令以长格式列出当前目录中的所有文件和文件夹,并按时间戳升序排列,以易读的格式显示。

实际上,当前的命令存在一个问题,它在当前的Shell会话中运行得很好,但我们无法在当前Shell会话之外访问它。
但是,我们有一个解决方案,可以使其成为一个永久命令,以便在任何Shell会话中都可以访问它。
我们只需要将这个别名添加到.bashrc(或.zsh对于macOS)文件中,该文件位于主目录中。
sudo vim ~/.bashrc
在”#some more ls aliases”部分下面,添加以下内容:
alias ll = 'ls -ltrh'
我已经添加了类似的内容如下:
alias ll = 'ls -ltrh' alias g = 'git' alias k = 'kubectl'

添加别名后,我们需要刷新当前的Shell环境,以便测试它是否按预期工作。
source ~/.bashrc
通过本文,你应该对 source 命令有了更深入的了解,知道了它如何从文件中读取并执行命令,如何更新 bash shell 环境,以及它与 bash 命令的区别。source 命令是一个非常方便的内置 shell 命令,它可以让我们在同一个 shell 环境中修改变量或执行脚本,而不需要创建新的进程或环境。这样可以节省资源,提高效率,也可以避免一些潜在的错误或冲突。source 命令是 Linux 中的神奇命令之一,值得我们好好学习和使用。
以上是Linux 中的神奇命令:source的详细内容。更多信息请关注PHP中文网其他相关文章!

简介:通过基于Linux的道德黑客攻击数字边界 在我们越来越相互联系的世界中,网络安全至关重要。 道德黑客入侵和渗透测试对于主动识别和减轻脆弱性至关重要

Linux基础学习从零开始的方法包括:1.了解文件系统和命令行界面,2.掌握基本命令如ls、cd、mkdir,3.学习文件操作,如创建和编辑文件,4.探索高级用法如管道和grep命令,5.掌握调试技巧和性能优化,6.通过实践和探索不断提升技能。

Linux在服务器、嵌入式系统和桌面环境中的应用广泛。1)在服务器领域,Linux因其稳定性和安全性成为托管网站、数据库和应用的理想选择。2)在嵌入式系统中,Linux因其高度定制性和高效性而受欢迎。3)在桌面环境中,Linux提供了多种桌面环境,满足不同用户需求。

Linux的缺点包括用户体验、软件兼容性、硬件支持和学习曲线。1.用户体验不如Windows或macOS友好,依赖命令行界面。2.软件兼容性不如其他系统,缺乏许多商业软件的原生版本。3.硬件支持不如Windows全面,可能需要手动编译驱动程序。4.学习曲线较陡峭,掌握命令行操作需要时间和耐心。

Linuxisnothardtolearn,butthedifficultydependsonyourbackgroundandgoals.ForthosewithOSexperience,especiallycommand-linefamiliarity,Linuxisaneasytransition.Beginnersmayfaceasteeperlearningcurvebutcanmanagewithproperresources.Linux'sopen-sourcenature,bas

Linux的五个基本组件是:1.内核,管理硬件资源;2.系统库,提供函数和服务;3.Shell,用户与系统交互的接口;4.文件系统,存储和组织数据;5.应用程序,利用系统资源实现功能。

开启智能家居新篇章:基于Ubuntu的开源家庭自动化系统 智能家居技术彻底改变了我们与生活空间的互动方式,为日常生活带来了便利、安全和能源效率。从远程控制灯光和电器,到监控安全摄像头和自动化气候控制,智能家居技术变得越来越普及。 然而,许多商业智能家居系统存在局限性:高昂的成本、隐私问题以及有限的兼容性。幸运的是,开源软件解决方案结合Ubuntu的强大功能,提供了一种替代方案——允许用户创建可定制、经济高效且安全的智能家居生态系统。 本指南将探讨如何使用Ubuntu和开源工具设置家庭自动化系统。

Linux与Windows:2025比较 考虑从MacOS或Windows切换? Linux可能是答案。 尽管MacOS用户会发现相对平滑的过渡(由于MacOS的UNIX Core),但Windows用户需要适应。此指南HIG


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Dreamweaver Mac版
视觉化网页开发工具

记事本++7.3.1
好用且免费的代码编辑器