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
Programme starten mit ./
-
- Beiträge: 33
- Registriert: 18.03.2008 17:50:39
- Lizenz eigener Beiträge: MIT Lizenz
Re: Programme starten mit ./
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:
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
Code: Alles auswählen
echo $PATH
/home/nepos/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
-
- Beiträge: 33
- Registriert: 18.03.2008 17:50:39
- Lizenz eigener Beiträge: MIT Lizenz
Re: Programme starten mit ./
Hallo nepos,
vielen Dank für die schnelle Antwort. Das war die Antwort, die ich gesucht habe!
Motorrad-Hotte
vielen Dank für die schnelle Antwort. Das war die Antwort, die ich gesucht habe!
Motorrad-Hotte