如何在 Linux 上使用 sed 替换环境变量?


环境变量是一个动态命名的值。通常,这些变量使用下面显示的命令在一个终端中导出

export $SOMEVARIABLE=value

或者它们存储在 bash 文件中,以便在源文件后,在所有终端中都可用。如果我们想更改环境变量,我们可以简单地更改上面命令的值字段,然后源文件,但如果我们想使用**sed**命令来做到这一点,那么我们需要了解一些关于**sed**命令的信息。

让我们探索一下**sed**命令,它是**流编辑器**的缩写。此命令用于在一个特定文件上执行不同的功能,如查找、替换、插入等等。

语法

sed [OPTIONS]... [SCRIPT] [INPUTFILE...]

示例 1

假设我们有一个简单的文本文件,我们希望将文件中存在的字符串替换为另一个字符串,在这种情况下,我们可以使用 grep 命令。

文件

immukul@192 linux% cat somefile.txt

this is a test file and it is used for testing and is not available for anything else so
please stop asking, lionel messi

现在我们想在上面的文件中将字符串**“it”**替换为**“litt”**。执行此操作的命令如下所示:

命令

sed ‘s/it/litt’ somefile.txt

输出

immukul@192 linux% cat somefile.txt

this is a test file and litt is used for testing and is not available for anything else so
please stop asking, lionel messi

现在让我们看看如何使用**sed**命令在 bash 脚本中交换环境变量的值。

有一个环境变量**TUTS**,其值等于** /Users**。为了在 bash 脚本中更改该值,我们可以将这些行添加到脚本中。

脚本

sed 's@PPP@'"$TUTS"'@'

现在,如果我们运行上面的脚本,然后键入 PPP,那么我们将能够打印环境变量的值,而不是打印 PPP 本身。

输出

immukul@192 linux-questions-code % ./sss.sh
PPP
/Users

更新于: 2021-07-31

2K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告