Wer öfter Shellskripte ausführt, hat sich sicher auch schon drüber geärgert, daß man dabei jedesmal dieses dämliche ./ davorhängen muß.
Da gibt es zwei Auswege:
1. Die Definition von Aliasen; geht, ist aber nicht so elegant, weil man das unter X nur dadurch zum Laufen bringt, daß man das xterm als Login-Shell startet. Außerdem muß man dann jedesmal ein Alias hinzufügen, wenn man ein neues Shellskript anlegt.
2. Dem System beibiegen, daß es bei der Eingabe eines Befehls auch im /home-Verzeichnis nach Programmen zu suchen hat. Dann entfällt nämlich die Eingabe von ./
Und wie?
Einfach: Durch anpassen der PATH-Variablen in der .bashrc. Per default gibt es dafür keinen Eintrag in der .bashrc.
Wir legen also zunächst einen Ordner für Skripte an und nennen ihn z.B. bin:
mkdir bin (im Home-Verzeichnis bitte!)
Dann öffnen wir die .bashrc mit dem Editor unserer Wahl.
Jetzt ist die PATH-Variable anzulegen:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/games:/home/vimes/bin"
Einzelne Einträge werden dabei durch einen : voneinander getrennt. Die Reihenfolge ist die, nach der das System vorgeht; es empfiehlt sich daher, den neuen Ordner ganz an das Ende zu setzen. In der Datei /etc/profile kann der Pfad nachgesehen werden, der für normale Benutzer per default angelegt wird.
Wichtig: wird hier nur
PATH="/home/vimes/skripts" oder dergleichen eingetragen, so sollte man sich besser nicht mehr ausloggen - danach sucht das System alle Programme nur noch im Ordner /home/vimes/skripts. Damit funktioniert fast kein Befehl mehr...
Die .bashrc sollte jetzt noch gesichert werden.
Nach einem logout kann man Shellskripte, die im Ordner bin (oder wie auch immer er genannt wird, das ist egal, der Name muß nur in der PATH-Variable stehen) ausführen, ohne ./ davortippen zu müssen.
Bonus: man muß sich nicht mehr im Verzeichnis befinden, in dem das Skript liegt. Es ist also egal, ob ich das Skript starte, wenn ich in /home/vimes/bin oder in /etc/ bin.
MfG
Vimes