驾驭 Linux 超强 source 命令

系统 Linux
果你之前没有接触过Linux,刚开始可能会觉得它很复杂,但实际上它并不复杂,学习Linux和学习其他操作系统一样简单。本文将深入介绍一个重要的内置命令 source。

Linux是世界上最广泛使用的操作系统。如果你之前没有接触过Linux,刚开始可能会觉得它很复杂,但实际上它并不复杂,学习Linux和学习其他操作系统一样简单。本文将深入介绍一个重要的内置命令 source。

关于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
责任编辑:赵宁宁 来源: Linux迷
相关推荐

2021-05-31 11:30:43

Linuxsource命令

2021-05-16 08:22:19

Linux命令 Source

2021-03-18 11:51:06

Linux运维Linux系统

2022-09-27 10:07:01

要使用 source

2023-05-05 08:18:38

Linuxsource命令

2015-10-28 10:55:36

2020-06-28 07:33:01

source命令BashLinux

2023-06-12 10:15:01

2013-07-24 10:21:00

职场

2012-02-20 15:04:36

2024-10-17 10:03:21

2010-04-23 09:23:44

Oracle 数据库

2022-08-24 11:54:10

Pandas可视化

2012-12-13 09:50:27

BYODCIO

2013-06-21 09:53:33

微软Windows Azu公有云

2018-08-28 09:42:21

缓存爱奇艺架构

2009-12-25 13:44:00

grep命令

2009-12-25 15:14:15

Linux set命令

2019-09-16 08:26:13

Kubernetes工具Katacoda

2012-09-25 09:20:34

SaaS软件即服务影子IT
点赞
收藏

51CTO技术栈公众号