Linux Shell 嵌入

17 Mar 2025 | 阅读 2 分钟

你可以在命令行中嵌入新的 shell。这意味着一个命令行可以嵌入一个新的 shell。可以使用变量来证明已经创建了新的 shell。

语法

示例

Linux Shell Embedding1

看上面的截图,我们嵌入了一个新的 shell (var-Hyii; echo $var) 到 $var 中。请注意,这里的 $var 只存在于临时的子 shell 中。这意味着如果你尝试在 shell 之外打印它,它将显示为空,如下图所示。


反引号

我们可以使用反引号而不是美元括号在命令行中嵌入。反引号不能用于嵌套嵌入式 shell。

示例

Linux Shell Embedding2

看上面的截图,我们已经在命令行中嵌入了 'ls' 和 'grep' 选项。

注意: grep 选项用于搜索匹配指定模式的文件。我们将在后续教程中详细学习它。


反引号 (`) 和单引号 (') 的区别

反引号可能经常与单引号混淆,但从技术上讲它们有显著的区别。

让我们通过一个例子来看看。

示例

Linux Shell Embedding3

看上面的截图,反引号将 var 值嵌入到 $var 中。而单引号只是简单地回显所有文本。


Shell 选项

有两个选项 set 和 unset,它们都是内置命令。默认情况下,bash 会将任何未定义的变量视为未绑定变量(没有值的变量)。

set -u 选项,会将未定义的变量视为错误。

set +u 选项,将不显示任何内容。

Linux Shell Embedding4
下一主题Linux 历史