2015-05-19 34 views
0

我有一个Fortran程序(我无法修改)在运行时需要用户输入(在命令行中)。该程序需要很长时间才能运行,并且我希望通过在后台运行它来保留终端的使用。然而,由于其交互性,这是不可能的。将参数传递给交互式fortran程序

有没有一种方法,使用bash脚本或其他方法,我可以将参数传递给程序,而无需通过命令行直接与其交互?

我不确定这是否可能;我试图寻找它,但空了,虽然我不确定要搜索什么。

谢谢!

ps。我正在开发一个unix系统,我无法安装那些尚不存在的东西。

+0

根据输入是如何读,管道入标准输入可能会奏效。 – 4ae1e1

+0

您无法打开另一个终端会话来执行非Fortran工作吗? – paxdiablo

+0

我可以打开另一个终端......但有很多Fortran工作需要完成。 – user3470516

回答

2

可以通过管道将它:

$ cat delme.f90 
program delme 
    read(*, *) i, j, k 
    write(*, *) i, j, k 
end program delme 

$ echo "1 2 3" | ./delme 
      1   2   3 

$ echo "45 46 47" > delme.input 
$ ./delme < delme.input 
      45   46   47 

$ ./delme << EOF 
> 3 2 1 
> EOF 
      3   2   1 
+0

谢谢!这正是我需要的,我不知道这甚至是可能的,更不用说那么简单了。我特别喜欢第二种解决方案。 – user3470516