如何将 bash 命令的输出存储在变量中? [复制]

2023-11-27

我正在尝试编写一个简单的脚本来终止进程。我已经读过使用 bash 和正则表达式在一行中查找并终止进程所以请不要将我重定向到此。

这是我的代码:

LINE=$(ps aux | grep '$1')
PROCESS=$LINE | awk '{print $2}'
echo $PROCESS
kill -9 $PROCESS

我希望能够运行类似的东西

sh kill_proc.sh node并让它运行

kill -9 node

但我得到的是

kill_process.sh: line 2: User: command not found

我发现当我登录时$PROCESS它是空的。 有谁知道我做错了什么?


PROCESS=$(echo "$LINE" | awk '{print $2}')

or

PROCESS=$(ps aux | grep "$1" | awk '{print $2}')

我不知道你为什么会收到你引用的错误。我无法重现它。当你这样说时:

PROCESS=$LINE | awk '{print $2}'

shell 将其扩展为如下所示:

PROCESS='mayoff  10732 ...' | awk '{print $2}'

(我已经缩短了$LINE使示例可读。)

管道的第一个子命令设置变量PROCESS;这个变量设置命令没有输出,所以awk立即读取 EOF 并且不打印任何内容。由于管道的每个子命令都在子 shell 中运行,因此设置PROCESS仅在子 shell 中发生,而不是在运行脚本的父 shell 中发生,因此PROCESS仍未为脚本中的后续命令设置。

(请注意,某些版本bash可以在当前 shell 中而不是在子 shell 中运行管道的最后一个子命令,但这不会影响此示例。)

而不是设置PROCESS在子壳中并且不提供任何内容awk在标准输入上,您想要提供以下值LINE to awk并将结果存储在PROCESS在当前外壳中。所以你需要运行一个命令来写入值LINE到它的标准输出,并将该标准输出连接到awk. The echo命令可以做到这一点(或printf命令,正如切普纳在他的回答中指出的那样)。

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

如何将 bash 命令的输出存储在变量中? [复制] 的相关文章

  • 如何使用 bash 显示具有两个子文件夹的文件夹?

    我通过 Cygwin 使用 bash 我有一个大文件夹 a 有很多子文件夹 b 这些子文件夹各有一个或两个子文件夹 c 我想找到所有有两个子文件夹 c 的子文件夹 b 并输出它们 结构如下 a b1 c1 b2 c1 c2 b3 c1 c2
  • bash 变量中的 Linux 鞭尾/对话框参数错误

    有人可以解释为什么下面的代码不起作用吗 我要疯狂地想找出答案 bin bash TEST M1 1 wire Interface ON echo TEST RESULT dialog title Config Modules State c
  • 如何将设备屏幕位置转换为发送事件位置?

    我知道关于input tap x yshell 命令 但是 我想了解如何 使用执行单击sendevent命令 我能够通过以下命令实现它 sendevent dev input event5 3 53 X sendevent dev inpu
  • 给出 5 个参数,但在终端中只得到 3 个参数

    我想将一个文件传递给一个c 程序 如果我在 IDE 中执行此操作 test string string lt test txt return argc 5 但在终端上我刚刚得到argc 3 看来 这是因为 什么是 lt 意思是 我正在使用
  • shell_exec 的输出被截断为 100 个字符

    当在 shell 中运行以下命令时 curl F file filename http 192 168 0 1 产生以下输出 Accuracy 0 0 1 classification Accuracy 0 0 1 classificati
  • 为什么我不能将 sed 的输出重定向到文件

    我正在尝试运行以下命令 someprogram tee dev tty sed s 2 gt output file 但当我去查看时 该文件始终是空白的 如果我删除 gt output file从命令末尾 我可以看到 sed 的输出 没有任
  • 仅当重复行与模式匹配时才删除它们

    这个问题 https stackoverflow com questions 1444406 how can i delete duplicate lines in a file in unix有一个很好的答案说你可以使用awk seen
  • 拆分字符串以仅获取前 5 个字符

    我想去那个地点 var log src ap kernelmodule 10 001 100 但看起来我的代码必须处理 ap kernelmodule 10 002 100 ap kernelmodule 10 003 101 等 我想使用
  • 使用带有curl 的内部字段分隔符

    当我做 ls IFS l 我得到了我期望的输出 当我做 curl IFShttp www google com 我不 我是否误解了内部字段分隔符 如何在不使用任何空格字符的情况下运行curl 命令 您需要将变量放在大括号内 否则 shell
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 使用 posix shell 测试字符串中的正则表达式

    如何测试字符串是否与特定字符串匹配正则表达式与基本 无 bash 或任何其他 posix shell 脚本 在 if 语句中 您可以使用expr在 POSIX shell 中计算正则表达式的命令 s Abc expr s alpha 3 e
  • 如何制作一个 bash 脚本来同时创建 40 个程序实例?

    我是新来的bash and Linux 我编写了一个程序 我想创建多个同时实例 现在 我通过打开 10 个新终端 然后运行该程序 10 次 我运行的命令是php home calculatedata php 使用 bash 脚本执行此操作的
  • Pure Bash 替换捕获组

    我有这个示例字符串 test string 13A6 该字符 数字可以是从 0 到 9 以及从 A 到 F 我想要这个输出 1 3 A 6 我有这个工作 result echo test string sed s g 我想在没有 sed 的
  • 如何在 shell 脚本中操作 $PATH 元素?

    有没有一种惯用的方法从类似 PATH 的 shell 变量中删除元素 这就是我想要的 PATH home joe bin usr local bin usr bin bin path to app bin and remove or rep
  • 匹配模式后添加行[重复]

    这个问题在这里已经有答案了 我有一个文件说test具有以下值 Linux Solaris Fedora Ubuntu AIX HPUX 如何在匹配 AIX 的行后面添加一行系统主机名 如果我做 echo hostname gt gt tes
  • 如何判断 Bash 中是否存在文件?

    这会检查文件是否存在 bin bash FILE 1 if f FILE then echo File FILE exists else echo File FILE does not exist fi 我如何只检查文件是否存在not ex
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • 对目录中的所有文件执行命令

    有人可以提供执行以下操作的代码 假设有一个文件目录 所有这些文件都需要通过程序运行 该程序将结果输出到标准输出 我需要一个脚本 该脚本将进入一个目录 对每个文件执行命令 并将输出连接到一个大输出文件中 例如 要在 1 个文件上运行命令 cm
  • OSX bash 最小化窗口

    在 Mac 中并使用 bash shell 我想执行一个包含单个命令 启动 Jupyter Lab 的文件并立即最小化终端窗口 有没有办法在不安装第三方软件的情况下做到这一点 是的 只需使用osascript https ss64 com

随机推荐

  • 如何在Python中获取文件关闭事件

    在 windows 7 64 位机器上使用 python 2 7 如何获取文件关闭事件 当文件在文件打开器的新进程中打开时 例如记事本 写字板 每次在写字板的新进程中打开文件 当文件在文件打开器的选项卡中打开时 例如notepad 它在新选
  • 无法在 Heroku 上进行 pg_restore:“无法从输入文件读取:文件结尾”

    我正在尝试将本地 PostgreSQL 数据库复制到 Heroku 应用程序pg dump pg restore实用程序 按照 Heroku 的官方指南进行 https devcenter heroku com articles herok
  • 递归引用数据框

    有没有办法让数据框引用自身 我发现自己花了很多时间写类似的东西y Category1 is na y Category1 lt NULL这些内容很难阅读 而且感觉就像是大量缓慢的重复打字 我想知道是否有类似的内容 y Category1 i
  • SQL 嵌套替换

    我有一个复杂的嵌套替换 我用它来连接 MSSQL 中的两个表 select from A left outer join select from B on replace replace replace replace replace A
  • Numpy 源代码中的常量是在哪里定义的?

    我试图找到常量在 numpy 中存储的位置 一些方向会很好 里面定义了很多常量 numpy core include numpy npy math h 当前定义的是 从第 48 行开始 define NPY INFINITYF npy in
  • 如何从结构元素的嵌套数组创建 Spark DataFrame?

    我已将 JSON 文件读入 Spark 该文件具有以下结构 scala gt tweetBlob printSchema root related struct nullable true next struct nullable true
  • 在 ASP.NET Core 2 中获取用户 ID

    我正在尝试获取 ASP NET Core 2 1 MVC 项目中的用户 ID 但是 我只能收到电子邮件 我几乎肯定必须有一个 1 2 行的方法来获取它 在 ASP NET MVC 成员资格中 它只是 varloggingInUserId U
  • 使 JList 中的按钮可点击

    我不敢相信这行不通 我有一个 JList 我已将其渲染器设置如下 基本上RankingPanel是一个带有两个标签和一个按钮的 JPanel topAchieverList new JList topAchieverList setCell
  • 在 Python 中查找每一行的最大值

    如何在Python中找到每一行的最大值并将其存储在NumPy数组或Pandas DataFrame中并将其存储在NumPy数组中 即下面的输出 0 511474 0 488526 0 468783 0 531217 0 35111 0 64
  • java.io.FileNotFoundException:打开失败:EACCES(权限被拒绝)

    当我尝试将位图存储到存储中时出现此错误 File path new File Environment getExternalStoragePublicDirectory Environment DIRECTORY PICTURES pict
  • 如何让 tslint 监视特定文件夹中的更改?

    我正在使用 webpack 2 它会告诉我我的打字稿代码是否存在编译问题 但是 我还没有找到一种方法来通过它运行 tslint 并让它在 webpack 在开发服务器模式下运行时检测到的每个更改中运行 我尝试过tslint 加载程序工作 但
  • 在 JBoss EAP 7 中配置 Http 标头

    您知道是否有标准方法来配置 JBoss EAP 7 发送到客户端的 Http 标头 我主要感兴趣的是能够配置以下内容 X XSS 保护 X 框架选项 严格的运输安全 内容安全策略 X 内容类型选项 我在互联网上找到了这个链接 https b
  • 使用 CSS3 模糊滤镜时图像周围出现白色模糊?

    今天我想重新设计我的网站并以不同的方式处理它 我并没有专注于排版 而是添加了大图像和小文本 我简单地做了 html background url img background png no repeat center center fixe
  • iOS swift 将 mp3 转换为 aac

    我正在转换一个mp3 to m4a在 Swift 中 代码基于this 当我生成 PCM 文件时它起作用 当我将导出格式更改为 m4a 时 它会生成一个文件 但无法播放 为什么会腐败 这是到目前为止的代码 import AVFoundati
  • Node.js 在 Windows 上的表现是否很差,对于基本 I/O 肯定不会比 apache 慢

    问题 我得到的结果合理吗 有什么东西可以对减少每秒请求数产生如此大的影响吗 Edit 我的一个朋友刚刚在 Linux 上对相同的应用程序进行了基准测试 平均 r s 约为 7000 Edit 2 我检查了 Node exe 的 CPU 使用
  • Xcode 4 - 构建输出目录

    我在 Xcode4 beta 5 中设置 定位输出文件时遇到问题 它们被放置在某处 Library Developer ugly path 我什至无法在我的产品上选择 在查找器中显示 对于简单的 C 项目 Foundation 工具甚至 C
  • jQuery 文本框光标到文本末尾?

    我正在尝试使用 jQuery 在用户点击 enter 后基本上替换文本框中文本末尾的光标 我的 输入 部分正在工作 但我不知道 输入部分之后 如何 我可以让光标返回到文本框中输入的文本的末尾 即此刻 当用户按 Enter 键时 光标转到新行
  • 使用 CanCan 授权命名空间和嵌套控制器

    我在让 cancan 授权我的新路线设置时遇到了一些麻烦 namespace api do namespace v1 do resources users do resources user songs resources friendsh
  • 如何将输入值获取到 Angular 的 $scope 中?

    我是 Angular 的新手 我正在尝试做一些非常基本的事情 这是视图的一部分 所有角度文件都添加到其他地方 div div
  • 如何将 bash 命令的输出存储在变量中? [复制]

    这个问题在这里已经有答案了 我正在尝试编写一个简单的脚本来终止进程 我已经读过使用 bash 和正则表达式在一行中查找并终止进程所以请不要将我重定向到此 这是我的代码 LINE ps aux grep 1 PROCESS LINE awk