Hallo Experten, googeln war mit meinen bescheidenen Englischkenntnissen nicht recht ergiebig, das Wiki für Anfänger im Bash-Skripting lässt sich hierüber nicht aus, deshalb hier mein Problem:
Das Skript soll in ausgewählten Verzeichnissen den Namen und das Datum der jeweils jüngsten Dateien ermitteln, um den Abgleich zweier Laufwerke zu ermöglichen; das Programm meld streikt bei den vorgegebenen Verzeichnisumfängen.
Der Plan: Das mit find ermittelte jeweilige Datum und der Dateiname landen im Verzeichnis /media/DATEN/Abgleich/ in jeweils einer eigenen Textdatei. Am Ende des Laufwerkabgleichs sollen die Dateistände des ersten Laufwerks ("Quelle") mit den Ständen des zweiten Laufwerks ("Ziel") - per cut auf das erforderliche Maß gekürzt - mit Hilfe der Textdatei Kontrolle gegenübergestellt werden: Quelle: Verzeichnis1/Datum & Dateiname vs Ziel: Verzeichnis1/Datum & Dateiname.
Obwohl die jeweilige Variable nur einmalig beschickt werden soll, kommt die Meldung "Mehrdeutige Umlenkung" und die Variable bleibt leer.
Auszug aus dem Skript:
#!/bin/sh # chmod +x ~/bin/*.sh # Skript ausführbar machen ~$ touch /media/DATEN/Abgleich/Kontrolle.txt ~$ set Kontrolle=/media/DATEN/Abgleich/Kontrolle.txt ~$ touch /media/DATEN/Abgleich/2_Zwi-sicher_Q.txt ~$ set Zq=/media/DATEN/Abgleich/2_Zwi-sicher_Q.txt # Quelldatei lange Ausgabe ~$ touch /media/DATEN/Abgleich/2_Zwi-sicher_Q-kurz.txt && set Zq1=media/DATEN/8_Abgleich/2_Zwi-sicher_Q-kurz.txt # Quelldatei kurze Ausgabe ~$ find /media/DATEN/2_Zwi-Sicher/ -type f -printf '%T+ %p\n' | sort | tail -n1 > $Zq bash: $Zq: Mehrdeutige Umlenkung ~$ Zq1=$(cut -b 1-10,47-140 $Zq) # keine Reaktion, nach Abbruch mit STRG+C nachfolgende Ausgabe: Cbash: $Kontrolle: Mehrdeutige Umlenkung
Worin besteht die mehrdeutige Umlenkung sowohl in Bezug auf die Variable als auch in Bezug auf die Datei Kontrolle.txt und wie kann ich Skript-Anfänger dies vermeiden? Schon jetzt vielen Dank fürs Interesse.
Gruß Benni11