Also habe ich mir selbst Bash-Skript für dieses Projekt bei der Arbeit zu lehren. Ich benutze RadBeacon Bluetooth-Beacons und einen Raspberry Pi, um Bus-Audio zu automatisieren, wenn Busse an einem bestimmten Ort vorbeifahren. Hier ist mein aktueller Code:Bash-Fehler, wenn ich mehr als eine else-Anweisung habe
Dies legt die Scan-Parameter und führt das zweite Stück, das die Scans liest und führt, was ich brauche.
#!/bin/bash
while read line
do
if [[ $line = "2F234454-CF6D-4A0F-ADF2-F4911BA9FFA5 0 1"* ]]; then
mplayer /home/pi/Desktop/01intro.mp3 else
if [[ $line = "2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 0 1"* ]]; then
mplayer /home/pi/Desktop/02togravesite.mp3 else
if [[ $line = "2F234454-CF6D-4A0F-ADF2-F4911BA9FFA7 0 1"* ]]; then
mplayer /home/pi/Desktop/03gravesite.mp3 else
if [[ $line = "2F234454-CF6D-4A0F-ADF2-F4911BA9FFA8 0 1"* ]]; then
mplayer /home/pi/Desktop/04visitorcenter.mp3 else
if [[ $line = "2F234454-CF6D-4A0F-ADF2-F4911BA9FFA9 0 1"* ]]; then
mplayer /home/pi/Desktop/05conclusion.mp3
else
sudo beacon scan -A -b -d 4| /home/pi/Desktop/test3.sh
fi
done
Wenn ich nur ein tun, wenn dann Anweisung der Code ohne Probleme läuft jedoch, wenn ich mehrere gehen sie sagt mir, es ist ein unerwartetes Token in der Nähe von „getan.“ Ich habe das recherchiert und vergebliche Versuche unternommen, ohne Erfolg. Weiß jemand das Problem, das ich habe?
Vielen Dank für Ihre Hilfe im Voraus!
Try shellcheck.net – VM17
Dank nun mit und seine ein paar Dinge zeigen –