Schlüpfriger Pfad

Die Shell stellt also sicher, dass stets dieselben, wohldefinierten Befehle zur Ausführung kommen, außer wenn Sie explizit per Dotslash etwas anderes anfordern. Können Sie sich mit diesem wohldurchdachten Verhalten trotzdem nicht anfreunden, steht es Ihnen jedoch frei, das aktuelle Verzeichnis in die $PATH-Variable aufzunehmen. Wohlgemerkt: Diese Aktion geschieht auf eigene Gefahr – wir empfehlen Ihnen, sich mit einem Dotslash anzufreunden.

Je nach Linux-Distribution und Shell passen Sie den $PATH über Einträge in die Dateien ~/.profile oder ~/.bashrc in Ihrem Home-Verzeichnis individuell an. Fügen Sie dazu am Ende der Datei das Kommando export PATH="$PATH:. ein (Listing 7, erste Zeile) und starten dann ein neues Terminalfenster, dann ähnelt der neue $PATH der Ausgabe aus der letzten Zeile von Listing 7.

Am Ende des Pfads steht nun der Punkt für das aktuelle Verzeichnis, sodass Sie den Dotslash weglassen dürfen (Listing 8). Weil der Verweis auf das aktuelle Verzeichnis am Ende des neuen Pfads steht, besteht auch keine Gefahr, dass der im letzten Abschnitt vorgestellte "Trick" funktioniert.

Listing 7

$ echo 'export PATH="$PATH:.' >> ~/.profile
[... neues Terminal ...]
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:.

Listing 8

tux@computer:~$ cd tmp
tux@computer:~/tmp$ beispiel.sh
Dies ist nur ein Beispiel für ein Skript.

<c>~/bin<c> und <c>/usr/local/bin<c>

Doch es gibt auch einen sozusagen kanonischen Weg, eigene Skripte ohne Pfadangaben auszuführen. Für an der Paketverwaltung vorbei installierte Anwendungen eröffnen die Ordner ~/bin/ und /usr/local/bin/ sinnvolle Alternativen dazu, den Pfad anzupassen. Zumindest einen dieser Ordner binden die meisten Distributionen automatisch in $PATH ein, sodass Sie hier Skripte oder Programme ablegen und von überall ohne eine Pfadangabe ausführen können. Verlinken Sie auch nach /opt/ installierte Anwendungen per Symlink hierher.

Fehlt der Ordner ~/bin/ in Ihrem Home-Verzeichnis noch, dann legen Sie ihn einfach an. Dann müssen Sie in der Regel auch noch einen passenden Eintrag in der Shell-Profildatei ~/.profile ergänzen (Listing 9), die das System beim Starten einer Shell ausführt. In anschließend neu geöffneten Terminalfenstern steht der Ordner $HOME/bin/ nun an erster Stelle des Pfads. Skripte, die Sie dort ablegen, werden automatisch gefunden.

Listing 9

# falls ein privates bin-Verzeichnis
# existiert, dieses in $PATH einbinden
if [ -d "$HOME/bin" ] ; then
  PATH="$HOME/bin:$PATH"
fi

Sollen alle Benutzer des Systems Ihr Skript oder kleines Programm ausführen dürfen, dann sollten Sie es mit Root-Rechten nach /usr/local/bin/ kopieren oder es mit einem Symlink (ln -s Quelle Ziel) dort verlinken. Dieses Verzeichnis befindet sich immer im $PATH, und die Paketverwaltung legt dort nie Daten oder Dateien ab, sodass Sie dieser mit Ihrem Skript nicht in die Quere kommen. Das Verzeichnis bleibt Ihr kleines Reich für Skripte und Programme. 

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Bash-Skripte sind Programme
    Wer regelmäßig mit der Shell arbeitet, wird leicht zum Programmierer: Schreiben Sie mehrere Shell-Befehle in eine Textdatei und machen diese ausführbar, haben Sie schon Ihr erstes Shell-Skript entwickelt. Die Shell bietet als Programmiersprache aber noch viel mehr.
  • Scripted Reality
    Aus den Shell-Tipps und dem Guru-Training kennen Sie viele nützliche Kommandozeilentools. Die können Sie in kleinen Shell-Skripten zu leistungsfähigen Miniprogrammen bündeln. Im einfachsten Fall lassen Sie damit mehrere Befehle automatisch nacheinander ablaufen, doch Skripte haben noch mehr zu bieten.
  • Missing Link
    Eine Sache, die Thunderbird traditionell schwer fällt, ist das automatische Öffnen von gesendeten Links in einem externen Browser. Wir zeigen, wie Firefox und Thunderbird kooperieren.
  • Erste Schritte mit Bash-Skripten
    Das Programmieren von Shell-Skripten ist keine Hexerei. Schon mit wenigen Grundkenntnissen sparen Sie durch das Automatisieren alltäglicher Aufgaben viel Zeit.
  • Alltagsaufgaben mit Skripten beschleunigen
    Ein Themenschwerpunkt Beschleunigung darf die Shell nicht auslassen, denn der Grundtenor unserer Guru-Training-Rubrik ist doch, dass Sie auf der Shell schneller als mit GUI-Tools arbeiten. Wir geben ein paar nützliche Beispiele.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Broadcom Adapter 802.11n nachinstallieren
Thomas Mengel, 31.10.2017 20:06, 2 Antworten
Hallo, kann man nachträglich auf einer Liveversion, MX Linux auf einem USB-Stick, nachträglich...
RUN fsck Manually / Stromausfall
Arno Krug, 29.10.2017 12:51, 1 Antworten
Hallo, nach Absturz des Rechners aufgrund fehlendem Stroms startet Linux nicht mehr wie gewohn...
source.list öffnet sich nicht
sebastian reimann, 27.10.2017 09:32, 2 Antworten
hallo Zusammen Ich habe das problem Das ich meine source.list nicht öffnen kann weiß vlt jemman...
Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 6 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...