Linux 中的 Source 命令是什么?如何使用它?Linux 中的 Source 命令是什么?如何使用它?Linux 中的 Source 命令是什么?如何使用它?Linux 中的 Source 命令是什么?如何使用它?
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

Linux 中的 Source 命令是什么?如何使用它?

发表 admin at 2025年2月28日
类别
  • 未分类
标签

source 命令是一个方便的实用程序,可用于刷新环境变量等。

source 命令在当前 shell 中执行文件中的命令。它还可以用来刷新环境变量,说实话,source命令的主要用途就是刷新环境变量。

source filename [options]

您也可以使用 . (点)而不是像这样的源命令:

. filename [options]

源命令如何工作?

该命令的语法很简单,但理解它需要稍微深入地了解一些 Linux 概念。如果您是 Linux 或编程新手,您可能对变量是什么只有一个模糊的概念。

如果您听说过这个术语,但不知道它的确切含义,没关系!请记住,我们所有人都是从同一个地方开始的。没有人会在早上突然醒来成为一名系统管理员或程序员。

在继续之前我将做一个简短的解释。

如果您已经熟悉如何在 bash 中创建变量,则可以跳到下一个标题。

变量概述

您可以打开任何 bash 终端并创建新变量。变量可以被认为是一个占位符,可用于将系统指向一条信息(字母、数字或符号)。

让我们看一个例子。我将创建一个名为 name 的新变量,并分配值 Christopher。

在 bash 中,这是使用以下公式完成的:variable_name=your_variable。请勿在 = 符号和文本之间添加任何空格。

christopher@linux:~$ name=Christopher
christopher@linux:~$ echo $name
Christopher

如果我只输入变量名称会发生什么?

christopher@linux:~$ echo name
name

如果您忘记了这个符号,bash 将返回您输入的文本。在这里,我告诉它回显或打印“name”。如果没有 $符号,bash 无法识别您想要使用您创建的变量。

您的变量将被插入到被调用的地方。所以我也可以将它包含在这样的句子中:

christopher@linux:~$ echo "Hello, $name. $name is a great name. It's good to meet you."
Hello, Christopher. Christopher is a great name. It's good to meet you.

您可以使用变量做很多事情,但我希望入门知识足以让阅读本文的任何人了解它们的工作原理。

环境变量与 shell 变量

对于理解源命令的下一个关键,我们来谈谈持久化。这是考虑 shell 和环境内容之间差异的简单方法。根据上下文,您也可能会从“可移植性”的角度来考虑它。

简而言之,如果您在终端 shell 中创建变量,那么一旦退出该 shell,该变量就会丢失。

相反,环境变量在您的操作系统中具有持久性。这些变量通常使用全部大写来区分自己。

例如,您的用户名被操作系统称为 $USER。

christopher@linux:~$ echo $USER
christopher

好的,您花了相当多的时间来研究环境变量和 shell 变量之间的差异。这与来源有什么关系?一切,真的。

否则,运行 source 和 bash 就没有区别。为了说明这一点,我还准备了一个演示。

源码与 Bash

如果您使用 Linux 一段时间,您可能遇到过这些命令并认为它们做了同样的事情。毕竟,这两个命令都可以用来执行脚本。

Source 在当前 shell 中工作,与运行 bash 不同,bash 会创建一个新 shell。这并不明显,因为没有显示新窗口。

如果您按照步骤进行操作,则需要您编写一个非常简单的脚本(我们称之为 echo.sh),如下所示:

#! bin/bash

echo $USER
echo $name

在终端中执行任何其他操作之前,请将您的名称分配给变量名称。

christopher@linux:~$ name=chris

接下来,我将向您展示当您在分配变量的同一终端中尝试所有 3 个命令时会发生什么。

christopher@linux:~$ bash echo.sh 
christopher

christopher@linux:~$ source echo.sh 
christopher
chris
christopher@linux:~$ . echo.sh 
christopher
chris

正如您所看到的,当您通过 bash 执行脚本时,您的局部变量未被识别。

使用source命令刷新环境变量

Source 还可用于更新当前 shell 中的环境变量。此任务的一个常见应用是更新当前 shell 中的 bash 配置文件。

用户可能想要修改他们的 bash 配置文件来创建别名。通常,保存配置后,您将需要打开一个新的终端窗口才能进行更改。

christopher@linux:~$ source .bashrc 

运行此命令将刷新当前 shell 中的设置,而不会强制您打开新终端。

结论

我们希望您喜欢本关于 source 命令的教程。一如既往,请在评论部分告诉我们您的想法。如果您喜欢这篇文章,请使用下面的按钮在社交媒体上分享。

©2015-2025 Norria support@alaica.com