Programme starten mit ./

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Motorrad-Hotte
Beiträge: 33
Registriert: 18.03.2008 17:50:39
Lizenz eigener Beiträge: MIT Lizenz

Programme starten mit ./

Beitrag von Motorrad-Hotte » 22.10.2008 17:39:12

Hallo Leute,

ich frage mich, welche Bedeutung die Zeichenfolge ./ beim Starten von Programmen hat.
Ich weiß zwar, dass ./ für das aktuelle Verzeichnis steht, aber das klärt nicht meine Frage.

Beispiel: ich habe den jAnrufmonitor installiert. Die zu startende Datei jam.sh liegt im Verzeichnis „jAnrufmonitor“. Wenn ich jetzt auf der Konsole in das Verzeichnis „jAnrufmonitor“ gehe, finde ich dort auch die Datei jam.sh. Wenn ich nun einfach den Befehl „jam.sh“ eingebe, gibt es die Ausgabe „command not found“, obwohl die Datei ja verfügbar ist. Wenn ich stattdessen „./jam.sh“ eingebe, läuft das Programm.

Meine Frage: wo liegt der Unterschied? Manche Programme brauchen ./ nicht.
Und: wenn ich das Programm beim Start von ubuntu starten lassen will, welchen Befehl muß ich dann unter Startprogramme eingeben? Der einfache Befehl mit Pfadangabe (/home/horst/jAnrufmonitor/jam.sh) tut es nicht.

Viele Grüße

Motorrad-Hotte

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Re: Programme starten mit ./

Beitrag von nepos » 22.10.2008 17:44:21

Das ist relativ einfach zu erklären. Deine Shell sucht Programme nur in Verzeichnissen, die in der Umgebungsvariablen $PATH zu finden sind. Als normaler User sieht die z.B. so aus:

Code: Alles auswählen

echo $PATH
/home/nepos/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
Um Programm zu starten, das nicht in einem der Verzeichnisse aus $PATH liegt, braucht die Shell den kompletten Pfad. Mit dem ./ gibst du ihr den quasi. Du könntest auch /home/hotte/jAnrufmonitor/jam.sh benutzen, das wär aber viel mehr zu tippen ;)

Motorrad-Hotte
Beiträge: 33
Registriert: 18.03.2008 17:50:39
Lizenz eigener Beiträge: MIT Lizenz

Re: Programme starten mit ./

Beitrag von Motorrad-Hotte » 23.10.2008 17:16:53

Hallo nepos,

vielen Dank für die schnelle Antwort. Das war die Antwort, die ich gesucht habe!

Motorrad-Hotte

Antworten