Bash 脚本 - 变量内容作为命令运行

2024-02-06

我有一个 Perl 脚本,它给我一个定义的随机数列表,这些随机数对应于文件的行。接下来我想使用从文件中提取这些行sed.

#!/bin/bash
count=$(cat last_queries.txt | wc -l)
var=$(perl test.pl test2 $count)

变量var返回如下输出:cat last_queries.txt | sed -n '12p;500p;700p'。问题是我无法运行最后一个命令。我尝试过$var,但输出不正确(如果我手动运行该命令,它工作正常,所以没有问题)。这样做的正确方法是什么?

P.S:当然我可以用 Perl 完成所有工作,但我正在尝试以这种方式学习,因为它可以在其他情况下帮助我。


你只需要做:

#!/bin/bash
count=$(cat last_queries.txt | wc -l)
$(perl test.pl test2 $count)

但是,如果您想稍后调用 Perl 命令,并且这就是您想将其分配给变量的原因,那么:

#!/bin/bash
count=$(cat last_queries.txt | wc -l)
var="perl test.pl test2 $count" # You need double quotes to get your $count value substituted.

...stuff...

eval $var

根据 Bash 的帮助:

~$ help eval
eval: eval [arg ...]
    Execute arguments as a shell command.

    Combine ARGs into a single string, use the result as input to the shell,
    and execute the resulting commands.

    Exit Status:
    Returns exit status of command or success if command is null.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash 脚本 - 变量内容作为命令运行 的相关文章

  • sed 替换为多行变量[重复]

    这个问题在这里已经有答案了 我正在尝试用跨多行的文本替换单词 我知道我可以简单地使用换行符 n 来解决这个问题 但我想保持字符串 干净 不包含任何不需要的格式 下面的例子显然是行不通的 read r d TEST lt
  • 如何在 bash 脚本中使用并行编程/多线程?

    这是我的脚本 bin bash script to loop through directories to merge fastq files sourcedir path to source destdir path to dest fo
  • shell脚本中的“##”是什么意思? [复制]

    这个问题在这里已经有答案了 在编写脚本时 我遇到了这个命令 f file 我很想知道 什么是 这行是什么意思 In bash 它删除了前缀模式 在这里 它基本上为您提供了最后一个路径分隔符之后的所有内容 通过贪婪地删除前缀 后面跟随任意数量
  • 如何根据 Bash 中的 VI 模式更改光标形状?

    我的 bashrc 中有以下行 set o vi 我希望我的光标在插入模式下具有管道形状 在命令模式下具有块形状 就像我在 vimrc 中放置以下内容时在 Vim 中的形状一样 let t SI e 6 q let t SR e 4 q l
  • 如何使用 Bash 编写二进制文件?

    我的问题是我需要创建一个包含以下确切字节的文件 48 00 49 00 我不能使用C perl 其他脚本语言 目标是嵌入式设备 我使用 awk 尝试过 在桌面上它确实有效 awk BEGIN printf c c c c 48 00 49
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • 将以反斜杠结尾的行与下一行 awk 连接起来(来自著名的 awk 单行解释)

    这个练习来自于Peteris Krumins 的博客文章解释了 AWK 的俏皮话 http www catonmat net blog awk one liners explained part two 本质上是这条线 awk sub ge
  • grep 排除文件的数组参数

    我想从我的文件中排除一些文件grep命令 为此我使用参数 exclude excluded file ext 为了更容易阅读 我想使用包含排除文件的 bash 数组 EXCLUDED FILES excluded file ext 然后将
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • 比较两个文件的单列

    我有两个文件 每个文件都有两列 并用空格分隔 我想找到两个文件中第 2 列不相同的行 并将它们输出到第三个文件 file A 1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 2 BBBBBBBBBBBBBBBBBBBBBB
  • UNIX 统计时间格式

    是否可以格式化 stat 的时间输出 我在用 stat c n A z filename 在 bash 脚本中 但它的时间格式不是我想要的 是否可以在命令中更改此格式 或者我必须稍后手动执行此操作 示例输出如下 lib drwxr xr x
  • 静默检查 bash 脚本中是否存在 rpm

    我正在尝试使用 if 语句快速检查 rpm 是否安装在 bash 脚本中 但我想默默地做 目前 当我运行脚本并且 rpm 确实存在时 它将 rpm 的输出输出到我不想要的屏幕 if rpm qa grep glib then do some
  • 在 bash 脚本中使用源时出现“源:未找到”错误

    我正在尝试编写 我认为的 一个简单的 bash 脚本 它将 运行 virtualenv 以 1 美元创建一个新环境 激活虚拟环境 做更多的事情 安装 django 将 django admin py 添加到 virtualenv 的路径等
  • 如何使用bash脚本获取分区的偏移量?

    我可以用parted找出我的图像的偏移量 sudo parted s image img unit B print Model file Disk home user image img 107374182400B Sector size
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • 如何扩展路径中的波形符(~)[重复]

    这个问题在这里已经有答案了 我有一个 shell 脚本 可以从用户那里获取目录路径 但我需要检查目录是否为空 如果用户将他的主路径与 而不是绝对路径 所以我无法检查它ls echo Specify your project root dir
  • 为什么 Git Bash 无法运行我的可执行文件?

    I am on git for windows https github com git for windows 吉特 巴什 我无法在命令行上运行可执行文件 Pedr Abc 07 MINGW64 c dev ls sqlite3 exe
  • 在 Bash 中监控 tomcat,直到它完成部署 war 或应用程序

    怎么可能Tomcat在 bash 脚本中进行监控以检测它是否完成了战争或应用程序的部署 应用场景 Tomcat 开始于systemd Tomcat 开始于catalina sh 使用 Tomcat 管理器 Tomcat从Eclipse启动
  • 在 macOS 上使用 find 时出现“非法选项”错误

    我试图列出末尾仅带有字母 R 的文件 我用了find在 macOS 终端中如下所示 find type f name R 但我收到消息说illegal option t 第一个参数find是它应该开始寻找的路径 路径 表示当前目录 find
  • Bash 中单行 while 循环的语法

    我无法找到分号和 或大括号的正确组合 我想这样做 但作为命令行中的一句 while 1 do foo sleep 2 done while true do foo sleep 2 done 顺便说一句 如果您在命令提示符下将其输入为多行 如

随机推荐

  • 定义读写操作符 [ ]

    在 The C Programming Language 一书中 作者给出了以下示例以及几条语句 定义一个用于读取和写入的运算符 例如 是很困难的 因为简单地返回引用并让用户决定如何处理它是不可接受的 cref 是帮助实现一个区分读和写的下
  • 使用 .replaceWith 删除

    标签但将内容保留在标签内?

    我有一个表格单元格 其中包含包含在内的内容 p tags td class address td p p Content goes here p 我想要 p 标签被删除 所以它看起来像这样 td class address Content
  • MSysObjects 错误没有读取权限

    我正在尝试通过以下方式连接到 MS Access 数据库 mdb OleDb 我的查询是 SELECT FROM ListQueries 这让我犯了错误 SQL 执行错误 执行的 SQL 语句 SELECT FROM ListQueries
  • javascript中获取小数点后的值

    我有一个 JavaScript 号码 12 1542 我想要这个字符串中的新字符串 12 1542 60 我怎么才能得到它 谢谢 你可以使用模运算符 https developer mozilla org en JavaScript Ref
  • SDK.DIR丢失?安卓更新项目?

    当我这样做时 我收到此错误 ant release sdk dir is missing Make sure to generate local properties using android update project or to i
  • jsTree - 渲染优化|具有 2000 个节点的超长渲染

    我正在使用 jsTree 1 0 rc3 以及通过 AJAX 加载数据的选项 并且在通过它加载大约 2000 个子节点时遇到问题 虽然服务器会在几秒钟内响应 但 jsTree 仅需要大约 40 秒才能在浏览器 chrome FF 中呈现结果
  • 使用Python下载Kaggle数据集

    我已经尝试下载kaggle dataset通过使用Python 但是我在使用时遇到了问题request方法和下载的输出 csv 文件是损坏的 html 文件 import requests The direct link to the Ka
  • Java 生成 RSA 密钥对并转换为 PEM - 但 OpenSSL 函数 PEM_read_bio_RSA_PUBKEY 返回 null

    我使用以下代码生成 RSA 密钥对并将其转换为 PEM 但是当我使用OpenSSL功能时PEM read bio RSA PUBKEY是返回null Java代码 public static RSAKeyPair creatKeyPair
  • 如何从数据子集中随机抽取并在 R 中引导统计测试

    我有一个包含两个变量的数据集 我希望统计测试它们在引导循环中是否相关 即使用 Spearman 的等级校正cor test 我的数据集中的大多数测量值都来自独立的样本单位 我们称之为植物单位 尽管有些测量值来自同一植物 为了处理伪复制问题
  • Azure ACS 是否像 Salesforce 一样支持 saml 2.0 IdP?

    我没有安装访问控制服务 ACS 但我在一些在线视频演示中看到 Salesforce 不在可用的预安装身份提供商列表中 Salesforce 可以配置为 IdP 使用标准 SAML 2 0 我可以设置 ACS 以便使用 Salesforce
  • 如何将组内的第一个值与每个后续值进行比较,直到满足条件

    所以我有一个一般结构如下的数据框 数据框 rownum group date 1 a 2021 05 01 2 a 2021 05 02 3 a 2021 05 03 4 b 2021 05 15 5 b 2021 05 17 6 b 20
  • Scala 中并行集合的效率/可扩展性(图)

    因此 我一直在 Scala 中使用并行集合来处理我正在开发的图形项目 我已经定义了图形类的基础知识 它目前正在使用scala collection mutable HashMap关键在哪里Int其值为ListBuffer Int 邻接表 编
  • OOD / OOP 练习曲 / 代码练习

    我已经在网上搜索了一段时间了 我正在寻找用于 OOD 实践 以及一些内部 TDD 研讨会 的小样本练习 如果有一个地方可以满足这一需求 请指出它 并关闭此问题 限制条件 与语言无关的现实世界问题 小 最多需要一到两个小时才能解决的问题 或者
  • 无法在Java / C++中为外部应用程序设置always-on-top

    我正在寻找解决方案 使外部应用程序 不是像记事本或 calc exe 这样的 Windows 应用程序 在按下 Java GUI 中的按钮后始终保持在最上面 我在 C 中使用此代码来获取桌面上所有打开的窗口 并将其进程 ID PID 与发送
  • 可更新视图 - SQL Server 2008

    关于可更新数据库视图的问题 我正在阅读有关该主题的一些 MSDN 文档 并且遇到以下限制 任何修改 包括 UPDATE INSERT 和 DELETE 语句 都必须仅引用一个基表中的列 我只是想确保我理解该限制 我想在我的几个媒体评论项目中
  • 多边形中的点

    我正在尝试解决一些 SPOJ 问题https www spoj pl problems FSHEEP https www spoj pl problems FSHEEP 我们必须找出点是否在多边形内部 正如我们所看到的 它不是凸多边形 问题
  • 如何更改pairs()的轴位置?

    默认情况下 pairs 将轴放在图的所有边上 在边之间交替 但是 我将数据集之间的相关性放在上三角形中 所以我想像这样调整轴位置 我需要设置哪些参数 您可以自定义配对功能 如果你看一下代码 就会发现轴是在 2 个嵌套的 for 循环内绘制的
  • 为什么 RGB 使用 6 个十六进制数字?

    据我所知 RGB 用两个十六进制数字编码颜色 对应于红色 绿色和蓝色分量 例如 ff0000 是纯红色 据我了解 每个十六进制数字代表 0 15 之间的数字 或 4 位信息 但是如何用 32 位来表示每种颜色呢 为什么使用两位数字表示红色
  • 如何在 Mercurial 上 git reset --hard HEAD?

    我是一名 Git 用户 正在尝试使用 Mercurial 事情是这样的 我做了一个hg backout在我想恢复的变更集上 这创建了一个新头 因此 hg 指示我合并 我认为回到 默认 合并后 它告诉我我仍然必须提交 然后我注意到在解决合并中
  • Bash 脚本 - 变量内容作为命令运行

    我有一个 Perl 脚本 它给我一个定义的随机数列表 这些随机数对应于文件的行 接下来我想使用从文件中提取这些行sed bin bash count cat last queries txt wc l var perl test pl te