将变量从 Shell 脚本传递到 Fortran 90 程序

1 bash fortran command-line-arguments fortran90

我被这个小问题困住了。我想知道是否可以将 bash-shell 脚本的变量传递给 f90 代码?

Vla*_*r F 5

我很确定之前在这里讨论过,但我找不到完全相同的副本。

您可以直接将参数作为参数传递给程序

  ./program arg1 arg2
Run Code Online (Sandbox Code Playgroud)

您可以在 Fortran 2003 中使用子例程GET_COMMAND ARGUMENTCOMMAND_ARGUMENT_COUNT. 单击链接以获取有用的示例。

在较旧的 Fortran 中,您必须使用非标准扩展,例如子例程GETARGIARGC.

您还可以读取脚本中设置的环境变量

VAR1 = ...
VAR2 = ...
./program
Run Code Online (Sandbox Code Playgroud)

使用 Fortran 2003 子程序GET_ENVIRONMENT_VARIABLE。在较旧的 Fortran 中,您必须使用一些非标准扩展名,例如 subroutine GETENV

您还可以将文件重定向到程序的标准输入并使用该READ语句读取数据。