迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

Bash 脚本中的 eval 命令

作者:迹忆客 最近更新:2023/06/10 浏览次数:

本文是关于在 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 求解算术运算

使用 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 脚本

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

退出 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 浏览次数: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 命令存储在一个变量中,然后直接从这个变量中执行它。 首先,我们将讨论执行变量中包含的命令的多种方法,然后是几个脚本示例。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便