我使用bash脚本编译和运行程序。程序运行时会要求输入一些数据。我怎样才能让bash脚本为程序提供输入,这样我就不会在屏幕上手动执行它。如何从bash脚本读取程序输入
这里是我的脚本:
#!/bin/csh
gfortran -o 1coupled AMAIN_C.FOR
mv 1coupled ./chemi
cd ./chemi
./1coupled
当程序运行时它会要求提供程序的名称,我必须在命令行输入。我想让它从bash脚本中读取它。
谢谢
我使用bash脚本编译和运行程序。程序运行时会要求输入一些数据。我怎样才能让bash脚本为程序提供输入,这样我就不会在屏幕上手动执行它。如何从bash脚本读取程序输入
这里是我的脚本:
#!/bin/csh
gfortran -o 1coupled AMAIN_C.FOR
mv 1coupled ./chemi
cd ./chemi
./1coupled
当程序运行时它会要求提供程序的名称,我必须在命令行输入。我想让它从bash脚本中读取它。
谢谢
#!/bin/bash
标准输入重定向从文件
./1coupled < file_of_values
,或者阅读man page “男人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
我大多用@bmargulies同意,除了功能是使用gfortran的F77扩展名,应尽量避免。
当前Fortran有一个访问命令行参数的标准方式,名为GET_COMMAND_ARGUMENT
。
检查this。
这不是一个bash脚本,它是一个csh脚本。 – bmargulies 2015-02-08 19:05:08