Konsolenbefehl mit "system()" wird als "command not found" angezeigt
-
Hallo,
mein Problem ist, dass ich den Befehl "setenv" ohne Probleme in der Konsole ausführen kann, während der Befehl, wenn ich ihn aus einem C++ Programm starten möchte ( mit system("setenv") ) als "command not found" verworfen wird. Andere Befehle, wie z.B. "gedit" funktionieren.
Kann sich hier jemand denken, woran das liegen kann?
Grüße
Börni
-
Vermutlich ist setenv ein eingebautes Kommando deiner Shell, kein eigenständiges Programm.
-
bash hat keinen setenv Befehl, das hört sich nach csh oder tcsh. Es könnte sein, dass deine login shell mit tcsh unterwegs ist, system aber /bin/bash verwendet. Enviroment variablen setzt man außerden nicht mit system (womit nur der geforkte Prozess die Änderung bekommt, der Parent == aufrufer von system eben nicht), sondern mit der in Posix definierten Funktion man: setenv(3).