fortran:type" executable @ script"在终端中使用脚本运行程序

时间:2014-10-21 16:56:44

标签: fortran

我有一个fortran程序,我通常使用命令脚本,例如,在我写的终端中:

$程序

然后我进入程序(终端显示“$ program>”)并接受命令或我通过手动输入“@script”调用的脚本:

$程序> @Script

然后fortran程序打开名为“script”的文件,其中包含一系列执行的命令或任务。

我现在要做的是直接在终端中输入: $ program @script

使用文件“script”中包含的命令运行程序。

我想这样做是为了能够创建sh脚本来多次运行程序,而无需每次手动编写每个脚本的名称都进入程序。

有人知道我怎么能在fortran中这样做。我想方法是启动fortran程序,说如果在程序名称之后在终端中输入了某些东西,那么fortran程序应该能够读取它并在内部使用它。无论在输入“program”后给出哪种类型的变量,程序都应该能够直接从终端读取它。任何想法都将不胜感激。

提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以这样做:

program <<EOF
@script
EOF

详细信息可能略微取决于您编写的shell,以及您尝试运行的程序的详细信息。

此外,这是一个shell脚本问题,与Fortran没什么关系。

答案 1 :(得分:1)

Fortran 2003定义了一些内在函数,允许您检索提供给可执行文件的命令行参数。

您感兴趣的功能是get_command_argumentcommand_argument_countget_command

get_command检索整个命令行 command_argument_count返回一个整数,其中包含在命令行上传递的参数数量 get_command_argument获取在命令行上传递的第n个参数。

请注意,这是您需要添加到Fortran程序中的功能,如果您无法重新编译它,那么您无法使用此方法使其工作。

如果无法修改Fortran,那么您可以使用expect之类的程序,它可以让您自动输入提供提示的程序。