Terminal vs. RunProgram()
Verfasst: 07.04.2020 13:18
Hallo!
Ich möchte unter Linux mit PureBasic ein anderes Programm ausführen.
Das Problem: Obwohl der Programmaufruf im Terminal wie erwartet funktioniert, funktioniert er mit RunProgram() nicht.
Im Einzelnen (getestet unter Linux Mint 19.3 Cinnamon mit PB 5.70 x64):
Ich habe eine Datei "script.r" mit dem Inhalt im Terminal zeigt [1] 12.
Auch die Umleitung in eine Datei funktioniert. schreibt [1] 12 in die Datei.
Wenn ich "Rscript" durch den kompletten Pfadnamen "/usr/bin/Rscript" ersetze, funktioniert alles genauso.
Im Gegensatz dazu mit PureBasic:
RunProgram() liefert in beiden Fällen 1 zurück, aber sonst sehe ich nichts. Eine Datei namens "r_out.txt" wird nicht erzeugt.
Wie kann ich es mit PureBasic anstellen, dass Rscript ein Skript ausführt und das Ergebnis in eine Datei schreibt?
Ich möchte unter Linux mit PureBasic ein anderes Programm ausführen.
Das Problem: Obwohl der Programmaufruf im Terminal wie erwartet funktioniert, funktioniert er mit RunProgram() nicht.
Im Einzelnen (getestet unter Linux Mint 19.3 Cinnamon mit PB 5.70 x64):
Ich habe eine Datei "script.r" mit dem Inhalt
Ausführung dieser Befehlszeile3 * 4
Code: Alles auswählen
Rscript script.r
Auch die Umleitung in eine Datei funktioniert.
Code: Alles auswählen
Rscript script.r > out.txt
Wenn ich "Rscript" durch den kompletten Pfadnamen "/usr/bin/Rscript" ersetze, funktioniert alles genauso.
Im Gegensatz dazu mit PureBasic:
Code: Alles auswählen
; Linux Mint 19.3 Cinnamon
SetCurrentDirectory("/home/nino/Schreibtisch/")
Debug GetCurrentDirectory()
; Debug RunProgram("Rscript", "./script.r > r_out.txt", "") ; -> 1
Debug RunProgram("/usr/bin/Rscript", "/home/nino/Schreibtisch/script.r > r_out.txt", "") ; -> 1
Wie kann ich es mit PureBasic anstellen, dass Rscript ein Skript ausführt und das Ergebnis in eine Datei schreibt?