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 02/2018: PAKETE VERWALTEN

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

sharklinux
Gerd-Peter Behrendt, 18.01.2018 23:58, 0 Antworten
Hallo zusammen, ich habe sharklinux von der DVD Installiert. 2x, jedesmal nach dem Reboot ist di...
Anfänger sucht Ratschläge
Alucard Nosferatu, 18.01.2018 21:56, 3 Antworten
Guten Tag, meine Wenigkeit würde gerne auf einer meiner Festplatten von meinen Feldrechnern e...
Suchprogramm
Heiko Taeuber, 17.01.2018 21:12, 1 Antworten
Hallo liebe Community, keine Ahnung ob dieses Thema hier schon einmal gepostet wurde. Ich hab...
Linux Mint als Zweitsystem
Wolfgang Robert Luhn, 13.01.2018 19:28, 4 Antworten
Wer kann mir helfen??? Habe einen neuen Laptop mit vorinstaliertem Windows 10 gekauft. Möchte g...
externe soundkarte Kaufempfehlung
lara grafstr , 13.01.2018 10:20, 4 Antworten
Hallo Ich bin auf Suche nach einer externen soundkarte.. Max 150 Euro Die Wiedergabe is...