我想使用“调用系统”在“<<EOF ... EOF”之间调用代码以使用gnuplot(没有file.plt)进行绘图。以下是我希望与“呼叫系统”一起使用的代码的一般示例:

gnuplot -persist <<EOF
set title "graf,bash,gnuplot,gfortran"/>
	














首页 > 解决方案 > 如何在 '< 之间调用代码

我想使用“调用系统”在“<<EOF ... EOF”之间调用代码以使用gnuplot(没有file.plt)进行绘图。以下是我希望与“呼叫系统”一起使用的代码的一般示例:

gnuplot -persist <<EOF
set title "graf

问题描述

标签: bashgnuplotgfortran

解决方案


program gnuplot
    implicit none
    character(len=1000) :: command 

    command = "gnuplot -persist <<EOF"//new_line('A')//&
              "set title 'grafico'"//new_line('A')//&
              "plot 'salida.txt'"//new_line('A')//&
              "EOF"

    ! system() is a GNU extension. This is more portable:
    call EXECUTE_COMMAND_LINE(command)
end program

请注意//for 字符串连接和&for 行继续。

如果您不介意使用 GNU 扩展,请使用-fbackslash标志进行编译,如果您愿意,可以这样编写字符串:

    command = "gnuplot -persist <<EOF\n&
              &set title 'grafico'\n&
              &plot 'salida.txt'\n&
              &EOF"

请注意,\n而不是new_line('A'). 另请注意,这只是一个字符串,而不是连接字符串。像以前一样有一个&for 行继续,但&如果字符串是前一行的字符串的继续,则在行的开头也有一个。


推荐阅读