📜  Linux Shell嵌入

📅  最后修改于: 2020-12-08 08:44:46             🧑  作者: Mango

Linux Shell嵌入

您可以在命令行上嵌入新的shell。意味着命令行可以在其中嵌入新的外壳。变量可以用来证明已经创建了新的外壳。

句法:

echo $
echo $(value)

例:

echo $var
echo $(var=Hyii ; echo $var)

看上面的快照,我们在$ var中嵌入了一个新的shell(var-Hyii; echo $ var)。请注意,$ var仅存在于临时子shell中。这意味着,如果您尝试将其print在外壳外部,则它将不显示任何内容,如下所示。

反引号

我们可以使用反引号代替美元括号来嵌入命令行。反引号不能用于嵌套嵌入式shell。

例:

echo `cd Desktop; ls *.txt | grep file`

看上面的快照,我们在命令行中嵌入了“ ls”和“ grep”选项。

注意: grep选项用于搜索与指定模式匹配的文件。我们将在进一步的教程中详细了解它。

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

反引号通常可能会与单引号混淆,但从技术上讲,它们有很大的不同。

我们来看一个例子。

例:

echo `var=Hii; echo $var`
echo 'var=Hii; echo $var'

看上面的快照,反引号将var值嵌入$ var中。而单引号只是echo所有文本。

外壳选项

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

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

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