搜索
首页系统教程LINUXLinux 中的神奇命令:source

Linux 中的神奇命令:source

Feb 10, 2024 pm 03:06 PM
linuxlinux教程linux系统linux命令外壳脚本排列嵌入式linuxlinux入门linux学习

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命令读取并执行了提供的文件中的命令。

输出如下:

Linux 中的神奇命令: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 "*****************************"
Linux 中的神奇命令:source

config-reader.sh文件包含一个使用配置文件的source命令。它在后续命令中使用了config-reader.sh文件中的file变量。

输出:

执行以下命令以读取配置并在当前文件中使用它们 source config-reader.sh

如下图:

Linux 中的神奇命令:source

刷新当前的Shell环境:

有时我们希望为经常使用的命令设置一个别名,以便在任何Shell会话中更容易使用。

我们可以通过创建一个如下所示的Shell别名命令来开始:

alias ll=’ls -ltrh’

该命令以长格式列出当前目录中的所有文件和文件夹,并按时间戳升序排列,以易读的格式显示。

Linux 中的神奇命令:source

实际上,当前的命令存在一个问题,它在当前的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'
Linux 中的神奇命令:source

添加别名后,我们需要刷新当前的Shell环境,以便测试它是否按预期工作。

source ~/.bashrc

通过本文,你应该对 source 命令有了更深入的了解,知道了它如何从文件中读取并执行命令,如何更新 bash shell 环境,以及它与 bash 命令的区别。source 命令是一个非常方便的内置 shell 命令,它可以让我们在同一个 shell 环境中修改变量或执行脚本,而不需要创建新的进程或环境。这样可以节省资源,提高效率,也可以避免一些潜在的错误或冲突。source 命令是 Linux 中的神奇命令之一,值得我们好好学习和使用。

以上是Linux 中的神奇命令:source的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:良许Linux教程网。如有侵权,请联系admin@php.cn删除
Linux和Windows之间的用户帐户管理有什么区别?Linux和Windows之间的用户帐户管理有什么区别?May 02, 2025 am 12:02 AM

Linux和Windows在用户账户管理上的主要区别在于权限模型和管理工具。Linux使用基于Unix的权限模型和命令行工具(如useradd、usermod、userdel),而Windows采用自己的安全模型和图形用户界面(GUI)管理工具。

Linux的命令行环境如何使其比Windows更安全?Linux的命令行环境如何使其比Windows更安全?May 01, 2025 am 12:03 AM

Linux'scommandlinecanbemoresecurethanWindowsifmanagedcorrectly,butrequiresmoreuserknowledge.1)Linux'sopen-sourcenatureallowsforquicksecurityupdates.2)Misconfigurationcanleadtovulnerabilities.Windows'commandlineismorecontrolledbutlesscustomizable,with

如何在Linux中自动制作USB驱动器安装如何在Linux中自动制作USB驱动器安装Apr 30, 2025 am 10:04 AM

本指南说明了如何在Linux的启动下自动安装USB驱动器,从而节省了时间和精力。 步骤1:确定您的USB驱动器 使用LSBLK命令列出所有块设备。 您的USB驱动器可能会标记为 /dev /sdb1, /dev /sdc1等

2025年,最佳Linux,Windows和Mac的最佳跨平台应用程序2025年,最佳Linux,Windows和Mac的最佳跨平台应用程序Apr 30, 2025 am 09:57 AM

跨平台应用程序已彻底改变了软件开发,从而在Linux,Windows和MacOS等操作系统上实现了无缝功能。 这消除了根据您的设备切换应用程序的需求,提供一致的体验

2025年AI和机器学习的最佳Linux工具2025年AI和机器学习的最佳Linux工具Apr 30, 2025 am 09:44 AM

人工智能(AI)正在迅速改变许多部门,从医疗保健和金融到艺术和音乐等创意领域。 Linux具有开源性,适应性和性能功能,已成为首要的Platfo

5最佳轻巧的Linux发行版,不带GUI5最佳轻巧的Linux发行版,不带GUIApr 30, 2025 am 09:38 AM

寻找没有图形用户界面(GUI)的快速,最小和高效的Linux分布? 轻巧,无GUI-Linux发行版非常适合较旧的硬件或服务器和嵌入式系统(例如服务器和嵌入式系统)。他们消耗较少的res

如何在Redhat发行中安装葡萄酒10.0如何在Redhat发行中安装葡萄酒10.0Apr 30, 2025 am 09:32 AM

Wine 10.0稳定版发布:在Linux上运行Windows应用更上一层楼 Wine,这款开源免费的应用程序,让Linux用户能够在Unix/Linux类操作系统上运行Windows软件和游戏,迎来了10.0稳定版的发布!此版本已提供源代码和二进制包下载,支持Linux、Windows和Mac等多种发行版。 这一版本凝聚了一年的辛勤工作和超过8600项改进,带来了诸多令人兴奋的提升。主要亮点包括: 增强对蓝牙设备的支持。 提升对HID输入设备的支持。 优化了32位和64位应用程序的运行性能。

如何在RHEL上安装和配置SQL Server如何在RHEL上安装和配置SQL ServerApr 30, 2025 am 09:27 AM

该教程指导您通过在RHEL 8.x或9.x上安装SQL Server 2022,通过SQLCMD命令行工具,数据库创建和基本查询连接。 先决条件 开始之前,请确保: 支持的RHEL版本(RHEL 8或9)。 Sudo

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

螳螂BT

螳螂BT

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

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。