Linux 14.982 Themen, 106.376 Beiträge

Frage zur Syntax der bash

Michael-2712 / 4 Antworten / Flachansicht Nickles

Hi Leute!


Wenn ich ein Programm in ein dem Verzeichnis ausführen will, in dem ich mich gerade befinde, muss ich "./[PROGRAMMNAME]" eingeben. Es hat aber auch schon nur "[PROGRAMMNAME]" gereicht (ich weiß aber nicht mehr, in welchem Zusammenhang). Im Internet bin ich jetzt auf folgendes gestoßen:


[PROG] -> Programm [PROG], welches sich im Pfad befindet, starten


./[PROG] -> Programm [PROG], welches sich im aktuellen Verzeichnis befindet, starten


Ich verstehe den Unterschied zwischen den beiden Erklärungen nicht. Kann mir das bitte jemand erklären?


Danke!

bei Antwort benachrichtigen
Klaus_T Michael-2712 „Frage zur Syntax der bash“
Optionen

Pfad ist eine Umgebungsvariable. Gebe mal 'echo $PATH' ein, dann siehst du, welche Pfade die Umgebung beinhaltet. Alle Programme, die in diesen Verzeichnissen liegen, werden ausgefuehrt, ohne dass man den Pfad angeben muss.
Willst du ein Programm auisfuehren, dass nicht im Pfad liegt, musst du entweder den vollen Pfad angeben oder in das Verzeichnis reinwechseln und das Programm mit ./programmname aufrufen.
Du kannst das aktuelle Verzeichnis allerdings mit in $PATH aufnehmen, dann brauchst du ./ vor dem Programmname nicht mehr mit eingeben, hast alleredings dann ein Sicherheitsproblem.
Bye, Klaus

bei Antwort benachrichtigen