我使用bash脚本编译并运行程序。程序运行时,它会询问一些输入数据。如何让bash脚本为程序提供输入,以便我不在屏幕上手动完成。
这是我的剧本:
#!/bin/csh
gfortran -o 1coupled AMAIN_C.FOR
mv 1coupled ./chemi
cd ./chemi
./1coupled
当程序运行时,它会询问程序的名称,我必须从命令行输入它。我想让它从bash脚本中读取它。
谢谢
答案 0 :(得分:0)
#!/bin/bash
重定向文件中的标准输入
./ 1coupled< file_of_values
或者,阅读手册页“man 3f getarg”以了解有关检索命令行参数的更多信息。
以下内容来自:the documentation。
PROGRAM test_getarg
INTEGER :: i
CHARACTER(len=32) :: arg
DO i = 1, iargc()
CALL getarg(i, arg)
WRITE (*,*) arg
END DO
END PROGRAM
答案 1 :(得分:0)
我主要同意@bmargulies,但该函数使用的是gfortran的f77扩展名,应该避免使用。
当前的fortran有一种访问命令行参数的标准方法,名为GET_COMMAND_ARGUMENT
。
检查this。