gpt4 book ai didi

linux - 是否可以使 bash shell 脚本与另一个命令行程序交互?

转载 作者:IT王子 更新时间:2023-10-29 00:15:30 25 4
gpt4 key购买 nike

我在运行 bash shell 的 Linux 终端中使用交互式命令行程序。我有一个明确的命令序列,我输入到 shell 程序。该程序将其输出写入标准输出。这些命令之一是“保存”命令,它将上一个运行的命令的输出写入磁盘文件。

一个典型的循环是:

$prog
$$cmdx
$$<some output>
$$save <filename>
$$cmdy
$$<again, some output>
$$save <filename>
$$q
$<back to bash shell>
  • $ 是 bash 提示符
  • $$是程序的提示符
  • qprog
  • 的退出命令
  • prog 是这样的,它将前一个命令的输出附加到 filename

我怎样才能使这个过程自动化?我想写一个 shell 脚本来启动这个程序,循环执行这些步骤,一个一个地输入命令,然后退出。我希望保存命令正常工作。

最佳答案

如果您的命令不关心您给它输入的速度有多快,并且您真的不需要与它交互,那么您可以使用 heredoc。

例子:

#!/bin/bash
prog <<EOD
cmdx
save filex
cmdy
save filey
q
EOD

如果您需要基于程序输出的分支,或者如果您的程序对命令的时间非常敏感,那么 Expect 就是您想要的。

关于linux - 是否可以使 bash shell 脚本与另一个命令行程序交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3448468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com