在 Linux 中使用 eval 命令
eval 命令允许您将参数作为 shell 命令执行。您可以将参数组合成单个字符串,使用结果作为 shell 的输入并执行结果命令。
假设您想在 Linux 中执行多个命令,当然您可以将它们链接起来,但是如果我告诉您可以将它们存储在变量中并执行它怎么办?
这就是 eval 命令的全部思想所在,它允许您执行存储在一个变量中的命令链。
因此,在本教程中,我将引导您完成在 Linux 中使用 eval 命令的多个示例。
Linux中eval命令的使用方法
要使用 eval 或任何其他命令,从语法开始总是一个好主意。以下是使用 eval 命令的语法:
eval [argument]此处,在[argument] 字段中,输入使用一系列命令分配的变量。
简而言之,您可以附加包含多个命令和所需选项的变量。
现在,让我们看一下 eval 命令的一些示例。
1. 根据变量计算多个命令
第一步是创建一个变量来存储命令链。要创建变量,请使用以下命令语法:
variable_name="chain of commands"例如,在这里,我创建了一个变量 sagar ,它将为登录用户打印问候文本:
sagar="echo 'Hello $USER'"完成后,您可以按以下方式使用 eval 命令来执行存储在变量内的命令:
eval $<variable_name>当我命名变量 sagar 时,我将使用以下内容:
eval $sagar2. 使用多个变量
虽然对于大多数用户来说,使用一个变量就可以完成工作,但您可能希望使用多个变量来更好地控制执行。
在这种情况下,您可以简单地通过以下方式合并它们:
eval $command_1 $command_2但是如果您想添加任何其他命令(例如 echo 或 print),那么您必须在其周围使用双引号:
eval "echo $command_1 $command_2"供您参考,在这里,我在 $command_1 和 $command_2 中使用了两个字符串,如下所示,稍后将 echo 命令与 eval 命令一起使用:
3. 进行数学运算
要执行数学运算,语法类似于我解释的使用多个变量的语法,但有一点不同。
假设您有两个变量:var1 和 var2 保存数值,并且您想要将它们相加(执行加法)。
因此,您必须使用双括号 ((...)) 来实现此目的。
听起来很复杂?让我向您展示如何实现这一目标。
我想在 var1 和 var2 之间执行加法,所以第一步是为它们分配一些数字:
var1=10
var2=5完成后,使用另一个变量来显示一些文本:
result="Your total is"最后,将它们放在一起,如下所示:
eval 'echo $result' $(($var1+var2))执行多个命令的更多方法
如果使用 eval 命令执行多个命令对您来说听起来不太好,那么我们编写了一份详细的指南,解释如何在 Linux 中运行多个命令:
我希望您会发现这很有帮助。



