Bashscript zum prüfen von Softlinks

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
mcmehl
Beiträge: 276
Registriert: 16.06.2004 16:53:15
Kontaktdaten:

Bashscript zum prüfen von Softlinks

Beitrag von mcmehl » 07.09.2004 09:02:30

Hallo

vielleicht kann mir einer von euch weiter helfen. Ich habe hier Liste mit Dateinamen, diese werden von einem Script selektiv in einen bestimmten Ordner gelinkt.
Leider ist die Liste nicht immer ganz fehlerfrei und es existieren nicht alle Zieldateien, die Links werden aber trotzdem erzeugt.

Nun bräuchte ich eine Lösung um das Ziel auf verfügbarkeit zu prüfen und die Liste ggf. Anpassen (suchen und ersetzen nur mit "sed" möglich?)?!
Meine einzige Idee wäre die Dateien zu kopieren, die Fehlermeldungen auszuwerten und daraufhin die Liste anzupassen. Das mit dem kopieren sollte aber möglichst nicht sein. Da muss es doch noch eine andere Lösung geben?

Vielen Dank im voraus

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 07.09.2004 09:11:31

Mit der test-Variable -f kannst Du überprüfen, ob eine Datei vorhanden ist:

Code: Alles auswählen

mars:/tmp# ls -l huhu
ls: huhu: No such file or directory
mars:/tmp# if [ -f huhu ]; then
> echo "vorhanden"
> else
> echo "nicht vorhanden"
> fi
nicht vorhanden
mars:/tmp# 
So könntest Du nur dann einen Symlink setzen, wenn die Datei vorhanden ist. Mehr zu den test-Variablen mit "man test". Ich hoffe, das hilft Dir weiter.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

Benutzeravatar
mcmehl
Beiträge: 276
Registriert: 16.06.2004 16:53:15
Kontaktdaten:

Beitrag von mcmehl » 07.09.2004 09:19:45

Vielen Dank, genau das was ich suchte!

Antworten