Hallo
Ich habe hier ein Script das Probleme macht auf den Zeilen 37 - 39 .
Nicht immer, aber etwa alle 5 Runden einmal passiert es das der mp3blaster nach fertig gespielten Stück , nicht wie gewünscht verschindet, sondern unerwünschterweise das echo aus der Zeile 39 anzeigt und dabei festfriert.
Dann bleibt mir nichts anderes übrig als die Sitzung zu schließen.
Zuerst habe ich ein sleep 0.1 dazwischengesetzt, weil ich dachte das die kleine Unterbrechung verhindert das der mp3blaster das echo übernimmt.
Nachdem das nichts geholfen hat, habe ich die Zeile 37 in eine Subshell gesetzt. Hat leider auch nicht DEN Erfolg gebracht.
Leider kapiere ich nicht wie man sonst die verschiedenen Zeilen (Befehle) klar voneinander trennen kann.
Wie macht man das am besten?
Gruß Peter
Ich habe hier ein Script das Probleme macht auf den Zeilen 37 - 39 .
Nicht immer, aber etwa alle 5 Runden einmal passiert es das der mp3blaster nach fertig gespielten Stück , nicht wie gewünscht verschindet, sondern unerwünschterweise das echo aus der Zeile 39 anzeigt und dabei festfriert.
Dann bleibt mir nichts anderes übrig als die Sitzung zu schließen.
Zuerst habe ich ein sleep 0.1 dazwischengesetzt, weil ich dachte das die kleine Unterbrechung verhindert das der mp3blaster das echo übernimmt.
Nachdem das nichts geholfen hat, habe ich die Zeile 37 in eine Subshell gesetzt. Hat leider auch nicht DEN Erfolg gebracht.
Leider kapiere ich nicht wie man sonst die verschiedenen Zeilen (Befehle) klar voneinander trennen kann.
Wie macht man das am besten?
Code:
1 #!/bin/bash
2
3 #Beschreibung:
4 #Spielt ein Freedownload-Lied vom Lastfm-m3u ab und fragt ob runterladen.
5
6
7
8 #Vorraussetzung
9 [ ! -f FreeDownAusschlacht.m3u ] && echo "m3u nicht gefunden" && exit
10 set -x
11
12
13
14 #Vorbereitung
15 grep '.mp3$' FreeDownAusschlacht.m3u > /tmp/FreeDownAusschlacht.m3u
16 mv -v /tmp/FreeDownAusschlacht.m3u FreeDownAusschlacht.m3u
17 set +x
18
19 a=0
20 b=0
21 c=0
22
23
24
25 #Hauptteil
26 while true
27 do
28 lied=`head FreeDownAusschlacht.m3u | grep '.mp3$' | head -n 1`
29 echo "========================================================"
30 #echo "${lied}"
31 echo -e " \033[1;35m${lied}\033[0m"
32 echo "========================================================"
33
34 isLinkonline=`wget --spider "${lied}" 2>&1 | grep -c -E "302|404|failed"`
35
36 if [[ ${isLinkonline} == 0 ]]; then
37 ( mp3blaster "${lied}" )
38 sleep 0.1
39 echo "Stück runterladen?"
40 read antwort
41
42 [ ! ${antwort} ] && wget "${lied}" && b=$[b+1]
43
44 a=$[a+1]
45 else
46 echo "Link ist tot: ${lied}"
47 c=$[c+1]
48 fi
49
50 echo
51 echo "${a} Lieder gehört"
52 echo "${b} Lieder runtergeladen"
53 echo "${c} URLs tot"
54 echo
55 echo
56 [ "${antwort}" = "q" ] && exit
57
58 grep -v "${lied}" FreeDownAusschlacht.m3u > /tmp/FreeDownAusschlacht.m3u
59 mv -v /tmp/FreeDownAusschlacht.m3u FreeDownAusschlacht.m3u
60 wc -l FreeDownAusschlacht.m3u
61 done
Gruß Peter