linux - 让 bash 脚本在 'interactive mode' 提示符下输入数字

标签 linux bash

在我正在使用的程序 ORCA 中,可以通过键入以下命令打开交互模式:

module load  openmpi/2.1.2 orca/orca_4_0_1_2_linux_x86-64_openmpi202

启用后,我可以给它一个命令来绘制图形:

orca_plot IPC_CAS1_restart2f-NEVPT2.gbw -i

然后程序会为我提供选择,我可以通过在提示中输入数字来选择。我希望通过一个 bash 脚本来自动执行此过程,该脚本为我输入特定的数字序列(例如,1、3、2、7)。

我的脚本如下所示,

#!/bin/bash 
module load  openmpi/2.1.2 orca/orca_4_0_1_2_linux_x86-64_openmpi202
orca_plot IPC_CAS1_restart2f-NEVPT2.gbw -i
1
3
2 
7 

我收到消息 "第 4 行:1:找不到命令","第 5 行:3:"找不到命令","第 7 行:2:找不到命令","第 8 行:7:找不到命令"。

我该如何解决这个问题?

最佳答案

您需要将脚本中的这些行转换为 orca_plot 的输入。使用 heredoc:

#!/bin/bash 
module load  openmpi/2.1.2 orca/orca_4_0_1_2_linux_x86-64_openmpi202
orca_plot IPC_CAS1_restart2f-NEVPT2.gbw -i << EOF
1
3
2 
7 
EOF

关于linux - 让 bash 脚本在 'interactive mode' 提示符下输入数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55034015/

相关文章:

linux - 如何将 docker registry default 从 docker.io 更改为 centos 中的另一个地址

c - 如何将程序发送到后台并停止执行?

linux - 如何重命名/移动文件并保留文件名的中间部分?我正在使用通配符查找文件

linux - 从 systemd 服务调用 "top"命令

C - 如何在 Linux 下重置 USB 总线?

c++ - 从信号处理程序中唤醒线程

linux - 在 linux 上从一开始就设置进程的 cpu 亲和性

bash - 如何在 Bash 中解析 Terraform 文件 (versions.tf)?

macos - 查找所有文件,并将它们复制到一个文件夹(递归展平)

linux - 运行 bash 脚本以从另一个目录关闭 tomcat