Linux中source命令简介
Contents
1. 概述
source命令可用于读取文件并将其内容视为要执行的一组命令。
在本快速教程中,我们将探索 Linux source 命令如何在这种情况下帮助我们执行命令并刷新环境变量。
2. 语法
让我们看一下基本语法:
$ source FILENAME [arguments]
$ . FILENAME [arguments]
正如我们在上面看到的,点或句点字符 ‘. ’ 是source关键字的同义词。因此,两者之间的输出没有差异。
要查看 source命令的运行情况,让我们使用它:
$ cat test.txt
printf "Today's date is: "
date
echo
cal -3
$ source test.txt
Today's date is: Sat May 23 07:26:50 IST 2020
2020
April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 4 1 2 1 2 3 4 5 6
5 6 7 8 9 10 11 3 4 5 6 7 8 9 7 8 9 10 11 12 13
12 13 14 15 16 17 18 10 11 12 13 14 15 16 14 15 16 17 18 19 20
19 20 21 22 23 24 25 17 18 19 20 21 22 23 21 22 23 24 25 26 27
26 27 28 29 30 24 25 26 27 28 29 30 28 29 30
31
在这里,我们首先创建了文件text.txt,其中包含在控制台上显示日期和日历的命令。之后,我们运行source命令并将我们的文件名作为参数传递。
最后,我们能够执行所有这些命令并在控制台上看到输出。
3. 用例
当我们使用source命令运行脚本时,所有命令都在同一个 shell 中执行。因此,在脚本中已赋值的任何变量在执行完成后将保留其值。
这是将环境变量广泛用于当前终端会话的主要原因。
4. source和bash命令的区别
有时,source和bash命令之间存在混淆,因为两者都可以在脚本中执行命令。这里的主要区别在于source命令在同一个 shell 中创建变量,而bash命令创建一个新的 shell**然后执行其中的所有脚本命令。
因此,我们不能使用bash命令来设置环境变量,因为一旦bash shell 退出,这些变量就会被销毁。