Der Syntaxfehler in Zeile 6 bezieht sich auf das "; do" welches in die Zeile mit dem ersten Befehl gehört. Dann läuft die Schleife zwischen do und done normal durch. Weiterhin musst Du alle Dateien in ein anderes Verzeichnis verschieben, oder die Endung nach dem Upload ändern, sonst loopt das Script so lange es *.mkv Dateien findet. Ich hatte vor längerer Zeit hier irgendwo mal mein Script gepostet, was das erledigt.
Hierbei werden alle Dateien aus einem Ordner eingelesen, hochgeladen und danach in einen anderen Ordner verschoben. Aus Sicherheitsgründen werden die YT Zugangsdaten allerdings nicht im Script gespeichert, sondern liegen in einem separaten Ordner. Dort liegt dann die entsprechende Passwortdatei.
#!/bin/sh
# Lade Username und Passwort aus Datei
source /etc/ytupload/passwd
# Wechsel ins Arbeitsverzeichnis
cd /Pfad/zu/den/Dateien
# Lade alle Dateien die auf *.mkv enden aus dem Arbeitsverzeichnis nach Youtube und benenne sie entsprechend ihres Dateinamens
for file in *.mkv
do youtube-upload -m $username -p $password -c Games --private -t $file $file
#Verschiebe alle bearbeiteten Dateien in den Zielordner relativ zum Arbeitsverzeichnis
mv $file ../uploaded/
done
Ansonsten brauchst Du nur noch deine Tags und Beschreibungen entsprechend einzufügen.