Ich habe ein Bash-Skript, um das Plotten mit gnuplot
zu automatisieren, jedoch funktioniert der Ladebefehl innerhalb gnuplot
nicht im Bash-Skript. Der Befehl bleibt einfach hängen.Gnuplot laden funktioniert nicht in einem Bash-Skript
Hier ist meine Bash-Skript:
#!/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
enthält:
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
Meine Ausgabe ist wie:
die gnuplot betreten und dort
Ihre Frage ist so formatiert, nicht gut. Bitte füge deinen Code ein, um dies zu beheben. – mhoff
Wenn ich einfach gnuplot eintippe und die .plt-Datei in ein bestimmtes Verzeichnis lade, funktioniert das einwandfrei. Aber es funktioniert nicht im Bash-Skript. OMG ... –
Verwenden Sie einfach 'gnuplot t-dos.plt' in der Mitte. –