Problem mit Programm



  • Hallo Leute

    ich bin absolut neu in Linux hab ein simples programm(Hello World) zum testen geschrieben das unter der Kommandozeile läuft geschrieben, und anschließend mit gcc kompiliert. Das Ergebnis ist folgende Datei gewesen "a.out". wie kann ich dieses Programm aufrufen/starten.

    Danke



  • ./a.out



  • allso muss ich dann in die Befehlszeile ./a.out eingeben oder.
    wenn ich nämlich nur a.out eingebe funktioniert es nicht



  • wenn du in der Konsole ein Programmname eingibt, dann sucht die Shell in allen Verzeichnissen, die in der Umgebungsvariable PATH angegeben ist nach dem Programm. . ist immer ein Symlink zu dem übergeordneten Verzeichniss, also /home/foo/a == /home/foo/./a

    Wenn du nun ein Programm aufrufen willst, welches nicht in einem Verzeichnis sich befindet, dass in PATH angegeben ist, musst du erst den Pfad angeben. Mit ./ behilft man sich da.

    Du kannst aber auch . in PATH einfügen, dass würde ich dir aber nicht empfehlen.

    Hoffe, man versteht irgend wie was ich geschrieben habe 😉



  • -g-
    also "." wuerde ich nicht in PATH einfuegen, hat den "schonen" nachteil das erst im aktuellen dir nach einer gleichnamigen datei gesucht wird, was wenn man a weng erfahung hat zu nem dicken sicherheitsloch fuehren kann 🙂 also einfach
    ./****
    oder wenns fertig is und std gebraucht wird
    "cp **** /usr/local/bin" oder /usr/bin, aber fuer test zwecke solte ./ reichen
    btw, sh *** kann auch helfe je nach shell 🙂



  • [3³] schrieb:

    also "." wuerde ich nicht in PATH einfuegen, hat den "schonen" nachteil das erst im aktuellen dir nach einer gleichnamigen datei gesucht wird,

    Das stimmt so nicht.
    Wenn man . in PATH aufnimmt dann sinnvollerweise ohnehin nur als letzten Eintrag, womit alle anderen Verzeichnisse im PATH zuerst durchsucht werden; dennoch ist . im PATH nicht so richtig empfehlenswert.


Log in to reply