Bash 脚本中的 eval 命令
本文是关于在 Bash 脚本中使用字符串作为命令的。 为此,使用了 eval 命令。
Bash 脚本中的 Eval 命令
在某些 Bash 脚本中,您必须使用变量或输入值(例如)创建一个字符串,并在最后将其作为命令运行。 对于这种情况,eval
是解决方案。
在 Bash 中,eval
命令计算参数类似于 shell 命令。 参数组合成一个字符串并发送到 shell 命令,然后执行该命令。
在当前 shell 中,eval
运行命令。 当运行带有特定运算符或保留项的命令时,此命令很方便。
此命令也可用于在脚本运行之前变量名未知的任何脚本。 本指南将帮助 Linux 用户了解如何使用此命令。
句法:
eval [arguments...]
参数作为字符串文字传递给此命令,然后发送给 Bash 执行。 此命令在执行命令后返回退出状态。
如果没有参数传递给此命令或传递了 null,则它返回 0 作为退出状态。
使用 eval 计算文件中的行数
假设我们有一个包含几行文本的文件 sample.txt。 如果我们需要计算该文件中的行数,我们可以使用 wc -l 命令。
我们将使用 eval 命令执行此任务。 该命令将是:
myComm="wc -l sample.txt"
eval $myComm
让我们看看这个的输出。
使用 eval 求解算术运算
假设我们需要执行一些算术运算。 我们可以使用 eval 命令来做到这一点。
为此,我们将创建一个 Bash 脚本。
#!/bin/bash
a=4
b=5
comm1="`expr $a + $b`"
comm2="echo"
eval $comm2 $comm1
在这个脚本中,我们创建了两个包含两个命令的变量,一个用于执行算术运算,另一个用于回显命令。 在最后一行,我们将这两个变量作为参数传递给 eval 命令。
eval 将组合这两个变量并构造如下命令。
echo 'expr 4 + 5'
执行此脚本后,我们将获得以下输出。
使用 eval 打印变量值
在下面的示例中,我们将打印包含另一个变量的变量的值。
#!/bin/bash
str1="my script"
str2=str1
comm="echo"
eval $comm \${$str2}
上面脚本的输出将是:
使用 eval 打印数字总和
在下面的示例中,我们将在脚本中使用 for 循环打印 1 到 4 范围内数字的总和。 然后我们将使用 eval 命令打印该总和。
这个问题的脚本是:
#!/bin/bash
sum=0
for n in {1..4}
do
sum=$(($sum+$n))
done
comm="echo 'The result of sum from 1-4 is: '"
eval $comm $sum
上面脚本的输出将是:
总结
eval
命令可以通过将任何 Bash 命令表示为字符串来运行。 在本课中,eval
命令运行多个 Bash 内置任务并创建一系列变量。
阅读本文后,用户将对 eval
命令有更好的理解,并将能够将其用于各种应用程序。
相关文章
退出 Bash 脚本
发布时间:2023/06/11 浏览次数:195 分类:操作系统
-
本文简要介绍 Bash 脚本,并讨论在出现错误时退出 Bash 脚本。 它进一步讨论了 Bash 脚本的局限性和好处。什么是 Bash 脚本 计算机脚本/程序告诉计算机做什么和说什么。
Bash 脚本中的 Echo Tab 字符
发布时间:2023/06/11 浏览次数:198 分类:操作系统
-
本文演示了如何回显特殊字符(例如制表符),否则这些字符会在 Bash 脚本中转换为单个空格字符。 这扩展到 Bash 以外的 shell(例如 zsh)。
在另一个 Bash 脚本中包含脚本文件
发布时间:2023/06/09 浏览次数:79 分类:操作系统
-
本文讨论了将一个 Bash 脚本文件包含到另一个脚本文件中的不同方法。在 Bash 脚本中包含文件 在 Bash 中包含或重用脚本非常简单。
在 Bash 中根据文件的第二列对数据进行排序
发布时间:2023/05/20 浏览次数:134 分类:操作系统
-
本文介绍了如何在 bash 中根据文件的第二列对数据进行排序。Bash 中的排序命令概述 使用 sort 命令对文件进行排序,该命令按特定顺序放置记录。
检查 Bash 中是否存在命令
发布时间:2023/05/20 浏览次数:84 分类:操作系统
-
我们可以在 Bash 中使用不同的内置命令来检查命令是否存在。 下面演示了这些命令的使用。使用命令 -v 命令检查 Bash 中是否存在命令 命令 -v 是所有 POSIX 系统和 Bash 中的内置函数。
在 Linux 中添加新用户的 Bash 脚本
发布时间:2023/05/20 浏览次数:64 分类:操作系统
-
这篇简短的文章是关于创建一个 Bash 脚本,该脚本可以自动为 Linux 操作系统添加用户和分配密码。 在 Linux 操作系统中,useradd 命令用于添加新用户并为他们提供密码。Bash 脚本 useradd 命令
Bash 脚本中的变量插值
发布时间:2023/05/18 浏览次数:79 分类:操作系统
-
本文是关于在 Bash 脚本中使用变量以及如何在 Bash 脚本中插入这些变量。Bash 脚本中的变量。每种编程语言都有具有特定数据类型的变量。
在 Bash 脚本中执行变量中的命令
发布时间:2023/05/18 浏览次数:110 分类:操作系统
-
本篇文章是关于将 Bash 命令存储在一个变量中,然后直接从这个变量中执行它。 首先,我们将讨论执行变量中包含的命令的多种方法,然后是几个脚本示例。