Zur Übersichtlichkeit meiner Skripte benutze ich Unterordner in ~/bin
. Diese heißen zum Beispiel sys
, sync
, media
, latex
. Nun habe ich mir ein Skript geschrieben, das mir alle Skripte in den Unterordnern nach ~/bin
verlinkt:
1 2 3 |
|
Das Skript arbeitet folgendermaßen:
- Alle symbolischen Links werden entfernt.
- Such nach Dateien die das executable-Attribut tragen, werden symbolisch verlinkt.
- Alle Dateien, die mit
~
enden, werden unausführbar gemacht, da es Backups sind.
Bei jeder Änderung, die ich in dem Ordner vornahm, musste ich refresh-ln.sh
ausführen. Dabei geht das auch automatisch. Dazu benötigt man das Programm inotify
. Dies wird durch den Befehl
1
|
|
oder
1
|
|
installiert. Das Skript checkbin.sh
benutzt dieses.
1 2 3 4 |
|
Das Skript wartet auf Veränderungen (veränderte, verschobene, erstellte, gelöschte Dateien) in dem Ordner ~/bin
und den Unterordnern und führt danach das Skript refresh-ln.sh
aus. Das Skript überprüft nicht alle paar Millisekunden, ob das Verzeichnis verändert wurde, sondern es bekommt eine Meldung direkt vom Kernel. Das heißt, dass das Programm ressourcenschonend arbeitet.
Außerdem habe ich das Programm bei den Startprogrammen hinzugefügt, sodass das Skript checkbin.sh
bei jedem Start des Computers ausgeführt wird. Dazu öffnet man Einstellungen -> Startprogramme
und klickt auf "hinzufügen". Dort ist dann der Name, der Pfad zum Skript und ein optionaler Kommentar anzugeben.
Weitere Informationen: