gpt4 book ai didi

linux - gnuplot 加载在 bash 脚本中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 09:24:14 26 4
gpt4 key购买 nike

我有一个使用 gnuplot 自动绘图的 bash 脚本,但是 gnuplot 中的加载命令在 bash 脚本中不起作用。命令只是卡住了。

这是我的 bash 脚本:

#!/bin/bash

for k in _1 +1 _2 +2 _3 +3 _4 +4 _5 +5 _6 +6
do
cd $k/surface

for i in s ss
do
cd $i
for j in `ls -d */`
do
if [ "$j" != "unrelax/" ]; then
cd $j/spin
echo $k$i$j

gnuplot
load 't-dos.plt'
exit

cd ../../
fi
done
cd ..
done
cd ../../
done

t-dos.plt 包含:

cat > t-dos.plt << eof
fermi=$(head -6 DOSCAR | tail -1 | awk '{print $4}')
plot 't-dos' u (\$1-fermi):2 w l
replot 't-dos' u (\$1-fermi):3 w l
set term post enhanced color
set output 't-dos.ps'
rep
eof

我的输出是这样的:

进入gnuplot并永远留在那里

最佳答案

当您的 bash 脚本运行 gnuplot 时,它现在会等待 gnuplot 退出,然后再继续,此时它将尝试运行一个名为 load 的命令(并且可能会失败)。 gnuplot 本身就在等待输入,给人一种脚本暂停或挂起的错觉。

您希望发生的事情是将 gnuplot 行之后的任何文本神奇地输入到 gnuplot 界面中,bash 脚本不会那样工作。

关于linux - gnuplot 加载在 bash 脚本中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38384899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com