如何从bash脚本读取程序输入

如何从bash脚本读取程序输入,bash,input,command-line,fortran,Bash,Input,Command Line,Fortran,我使用bash脚本编译和运行一个程序。当程序运行时,它要求输入一些数据。如何使bash脚本向程序提供输入,以便不在屏幕上手动执行 这是我的剧本: #!/bin/csh gfortran -o 1coupled AMAIN_C.FOR mv 1coupled ./chemi cd ./chemi ./1coupled 当程序运行时,它要求输入程序名,我必须从命令行输入。我想让它从bash脚本中读取它 多谢各位 换成bash#/bin/bash 将要读取的值写入文件 重定向文件中的标准输入 ./

我使用bash脚本编译和运行一个程序。当程序运行时,它要求输入一些数据。如何使bash脚本向程序提供输入,以便不在屏幕上手动执行

这是我的剧本:

#!/bin/csh

gfortran -o 1coupled AMAIN_C.FOR
mv 1coupled ./chemi
cd ./chemi
./1coupled
当程序运行时,它要求输入程序名,我必须从命令行输入。我想让它从bash脚本中读取它

多谢各位

  • 换成bash<代码>#/bin/bash
  • 将要读取的值写入文件
  • 重定向文件中的标准输入

    ./1耦合
  • 或者,阅读手册页“man 3f getarg”了解有关检索命令行arg的更多信息

    以下内容来自:


    我基本上同意@bmargules,只是该函数使用了gfortran的f77扩展,应该避免使用

    当前fortran有一种访问命令行参数的标准方法,名为
    GET\u command\u argument


    检查。

    这不是bash脚本,而是csh脚本。
    PROGRAM test_getarg
            INTEGER :: i
            CHARACTER(len=32) :: arg
    
            DO i = 1, iargc()
              CALL getarg(i, arg)
              WRITE (*,*) arg
            END DO
          END PROGRAM