如何在 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
广告