为什么'暂停-1' gnuplot命令在while -r bash循环中执行时不起作用

时间:2016-05-20 13:08:37

标签: bash while-loop gnuplot pause

我试图与gnuplot结合使用bash脚本。 我使用输入文件' input.list'包含要用gnuplot分析的单列文件列表。 我使用了以下bash脚本:

    #!/bin/bash
        while read -r line
        do
...
#Other operations on files
...
        gnupinp=$line
        gnuplot -e  "input='${gnupinp}'; plot input u 1:2; pause -1"

        done < input.list

可能存在两个问题:

  1. 当分析列表中的第一个文件时,会创建绘图,但pause -1似乎被忽略,而pause 1工作正常。

  2. 无论我使用pause -1还是pause 1,当执行列表中的第二个文件时,脚本都会从#Other operations on files部分开始失败。 当我在gnuplot中使用system 'sleep 1'命令时,可以获得相同的行为。 当我忽略pause命令时,gnuplot脚本会针对所有列出的文件正确执行。

  3. 提前感谢任何帮助

1 个答案:

答案 0 :(得分:0)

您正在以两种竞争方式使用标准输入:将数据提供给Email和gnuplot的read

如果您希望用户能够在绘制图表后按回车键与gnuplot进行交互,则必须使用除stderr之外的其他方式来为脚本提供数据,例如:从文件中读取。