Hallo zusammen,
bin gerade dabei mir ein Installationsscript für den TeamSpeak 3 Client zu basteln, da ich ihn auf mehreren Rechnern installieren möchte und zu faul bin das per Hand zu erledigen 🙄. Das Script soll den Installer herunterladen, die Installation starten und schlussendlich einen Starter erstellen, der ins Whisker-Menü eingegliedert wird.
Folgenden Code habe ich geschrieben:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #!/bin/bash # root-Berechtigungen überpruefen if [ "$(whoami)" != "root" ]; then echo "Dieses Sript muss mit root-Rechten ausgeführt werden!" exit 0 elif [ -d /opt/teamspeak3client/ ]; then echo "TeamSpeak 3 Client ist bereits installiert! (/opt/teamspeak3client/)" exit 0 else # Benutzereingaben einlesen VERSION_DEFAULT="3.0.16" read -p "Gewünschte Version angeben: [${VERSION_DEFAULT}]" VERSION VERSION=${VERSION:-$VERSION_DEFAULT} # Installationsroutine echo "===> Downloade Client-Dateien nach /tmp/..." wget http://dl.4players.de/ts/releases/${VERSION}/TeamSpeak3-Client-linux_amd64-${VERSION}.run -P /tmp/ echo "*** Fertig." echo "===> Starte Installer..." chmod +x /tmp/TeamSpeak3-Client-linux_amd64-${VERSION}.run /tmp/TeamSpeak3-Client-linux_amd64-${VERSION}.run mv ~/TeamSpeak3-Client-linux_amd64 /opt/teamspeak3client/ echo "*** Fertig." echo "===> Lege Starter an..." STARTER="/usr/share/applications/TeamSpeak 3 Client.desktop" echo "+${STARTER}+" echo "[Desktop Entry]" > $STARTER echo "Type=Application" >> $STARTER echo "Name=TeamSpeak 3 Client" >> $STARTER echo "Icon=/usr/share/icons/hicolor/48x48/apps/ts_logo.png" >> $STARTER echo "Categories=Network;" >> $STARTER echo "Exec=/opt/teamspeak3client/ts3client_runscript.sh" >> $STARTER echo "*** Fertig." exit 0 fi |
Das funktioniert auch alles ganz wunderbar. Abgesehen vom Anlegen der .desktop-Datei. Dabei wirft mir die Shell immer folgende Fehler aus:
[...] ===> Lege Starter an... ./install_teamspeak3client.sh: Zeile 30: $STARTER: Mehrdeutige Umlenkung. ./install_teamspeak3client.sh: Zeile 31: $STARTER: Mehrdeutige Umlenkung. ./install_teamspeak3client.sh: Zeile 32: $STARTER: Mehrdeutige Umlenkung. ./install_teamspeak3client.sh: Zeile 33: $STARTER: Mehrdeutige Umlenkung. ./install_teamspeak3client.sh: Zeile 34: $STARTER: Mehrdeutige Umlenkung. ./install_teamspeak3client.sh: Zeile 35: $STARTER: Mehrdeutige Umlenkung. *** Fertig.
Trotz Google-Suche in diversen Foren und verschiedener Lösungsansätze will es einfach nicht klappen. Kann mir einer von euch Profis sagen, wo mein Fehler liegt?
PS: Ich bin noch ziemlich neu in der Linux-Welt und habe daher auch noch nicht allzu viel Erfahrung mit Bash. Man sehe mir bitte meinen (sicherlich) miserablen Programmierstil nach...