首页 文章

fortran:在终端中键入“executable @script”以使用脚本运行程序

提问于
浏览
0

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

$程序

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

$程序> @Script

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

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

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

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

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

提前致谢 .

2 回答

  • 1

    你可以这样做:

    program <<EOF
    @script
    EOF
    

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

    此外,这是一个shell脚本问题,与Fortran没有多大关系 .

  • 1

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

    您感兴趣的功能是 get_command_argumentcommand_argument_countget_command .

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

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

    在无法修改Fortran的情况下,您可以使用expect等程序,它可以让您自动输入提供提示的程序 .

相关问题