Sollte der User nicht erwarten dürfen, dass das Programm immer gleich funktioniert, egal woher er es aufruft? Warum steuerst du die verschiedene Funktionalität nicht über Kommandozeilenoptionen? Sowas ist
IMHO entgegen jeglicher Usability und würde bei mir in die Tonne (/dev/null) fliegen