erstes Script; Fehlermeldung

karlib

Benutzer
Mitglied seit
17. Feb 2025
Beiträge
4
Punkte für Reaktionen
1
Punkte
3
Hallo,
ich habe folgendes Script geschrieben, bzw. aus deim Forum aus 2018 an uns angepasst:
filetest= find "volumeUSB1/" -maxdepth 2 -name "test.txt"
if [ ! -z "$filetest" ]; then
echo "Datei vorhanden"
fi

Ich erhalte in output.log ausschließlich die Information:
/volume1/share/dateivorhanden.sh: line 4: syntax error near unexpected token `fi'
/volume1/share/dateivorhanden.sh: line 4: `fi'

was ist am Script falsch? Ich erkenne es leider nicht, vielen Dank
Uwe
 
Bash:
#!/bin/sh
filetest=$(find "/volumeUSB1" -maxdepth 2 -name "test.txt")
if [ ! -z "$filetest" ]; then
    echo "Datei vorhanden"
fi
Kein Leerzeichen nach dem =-Zeichen erlaubt! Außerdem fehlen da Zeichen um den find-Befehl herum.
Tipp: Benutze die Formatierung Code einfügen / Bash beim Erstellen eines Forum-Beitrags mit Code.

Edit: Shebang ergänzt.
 
Bash:
#!/bin/sh
find "/volumeUSB1" -maxdepth 2 -name "test.txt" | while read -r filetest; do
    echo "Datei vorhanden: $filetest"
done
 
Ich habe scheinbar ein grundsätzliches Problem mit der Erstellung einer Script-Datei. Ich erhalte jetzt die Fehlermeldung:
...: line 4: syntax error near unexpected token `done'

Ich erstelle die Script-Datei mit Notepad++, kopiere diese per Drag and Drop in das share-Verzeichnis und führe diese dann entweder mit dem Aufgabenplaner oder in Telnet aus.
 
Versuche das, mit der Synology Busybox ist das immer so eine Sache:
Bash:
#!/bin/sh
if find "/volumeUSB1" -maxdepth 2 -name "test.txt" -print -quit | grep -q .; then
    echo "Datei vorhanden"
fi
 
Versuch es doch einmal mit dem internen Editor.
 
  • Like
Reaktionen: ctrlaltdelete
Gute Idee oder:
Welche Codierung nimmst du in Notepad UTF8 ohne Bom?
und
Notepad++ oben auf "Bearbeiten" → "EOL-Konvertierung" → "In UNIX (LF) konvertieren"
 
Super, daran denken wir oft nicht, weil über dieses Problem ganz zu Anfang auch gestoßen sind und das ist nun schon ein wenig her. :cool:
 
Ja - unsichtbare Schmutzzeichen oder falsches Line-Ending wären auch meine nächsten Tipps gewesen. Prima, dass es gelöst werden konnte.
 
  • Like
Reaktionen: ctrlaltdelete
  • Like
Reaktionen: ctrlaltdelete
8:54 mea culpa, die Umstellung kam mit DSM 7 und da ich oben was mit 2018 gelesen hatte, bin ich wohl falsch abgebogen. Aber auf DSM 6 läuft es noch oder liege ich da falsch?
Edit: Ich werde alt :cool:
 
Zuletzt bearbeitet:
Auch da liegst Du falsch, die Umstellung kam mit DSM6 im März 2016.

Gruß Götz
 
  • Like
Reaktionen: ctrlaltdelete
Danke, again what learned.
 
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat