2016-11-20 2 views
-2

Nicht einmal sicher, wie meine Frage zu formulieren, so nackt mit mir. Ich muss einige hundert Simulationen durchführen und die Ausgabedatei nach einer bestimmten Variablen durchsuchen. Um das Programm zu starten, muss ichüber Bash-Skript zum Terminal schreiben

$SIMPLESIM/simplesim-3.0/sim-outorder -config ../../config/tmp.cfg bzip2_base.i386-m32-gcc42-nn dryer.jpg 

an das Terminal schreiben, wo tmp.cfg die Konfigurationsdatei ist, werde ich für jede Simulation modifiziert werden. Beim Ausführen gibt das eine Datei aus, in der ich über tmp.cfg benannt habe. Dies funktioniert natürlich, wenn ich es buchstäblich in Terminal eingeben, jedoch in Bash-Skript, dieser Befehl ausgeführt wird, gibt mir den Fehler

simplesim-3.0/sim-outorder no such file or directory 

Ich glaube, es mit dem Symbol $ zu tun hat? Danke für jede Hilfe.

+0

Haben Sie SIMPLESIM in Ihrem Skript definiert? –

+1

Ich folge nicht. Was meinst du mit definieren? Wenn ich den obigen Befehl im Terminal eintippe, funktioniert es perfekt, aber nicht, wenn ich es als Zeile in meiner Bash-Datei ausführe. Ich bin mir nicht einmal sicher, was der $ SIMPLESIM-Teil überhaupt bedeutet, ich nehme an, es hat mit Dateipfad zu tun? –

+0

echo $ SIMPLESIM im Terminal, was ist der Wert, den Sie erhalten sagen/usr/tmp, tun SIMPLESIM =/usr/tmp im Bash-Skript –

Antwort

0

Bevor Sie einen Befehl aufrufen, muss sein Pfad in $ PATH definiert sein oder Sie müssen manuell den vollständigen Pfad eingeben, um ihn aufzurufen. Definieren Sie also SIMPLESIM im Skript zum Pfad, wie SIMPLESIM =/usr/bin,/usr/bin dient nur als Referenz. Um den Pfad zu kennen, echo $ SIMPLESIM im Terminal und sehen Sie den Pfad und rufen Sie den Befehl $ SIMPLESIM/simplesim-3.0/sim-outorder -config ../../config/tmp.cfg bzip2_base.i386-m32-gcc42-nn dryer.jpg

Verwandte Themen