26.02.2014 Aufrufe

Ubuntu User Desktop+ (Vorschau)

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Bash-Workshop: Teil 3<br />

Programmieren<br />

Listing 1: „musiksammlung.sh“<br />

01 #!/bin/bash<br />

02 #<br />

03 # Hier kommt gewöhnlich auskommentiert eine Kopfzeile mit Copyright, Programmname, Version etc. hin<br />

04 #<br />

05 # Variablen definieren<br />

06 TERM=linux<br />

07 weiter=true<br />

08 playerkommando='mplayer'<br />

09 erg=/tmp/menueerg$$<br />

10 tmp=/tmp/menuetmp$$<br />

11 <br />

12 # externe Funktionen aus Listing 1 inkludieren<br />

13 . musiksammlung.func<br />

14 <br />

15 # Vorbereitungen<br />

16 umask 077<br />

17 <br />

18 # Hauptprogramm<br />

19 dialogtest<br />

20 dialog ‐‐infobox "Auswahlmenü Musiksammlung\n(co) Stockmayer\n13.09.2011" 0 0<br />

21 sleep 3<br />

22 cd ${1:‐~/Musik}<br />

23 while $weiter<br />

24 do<br />

25 dialog ‐‐menu "Auswahlmenue Musiksammlung\n$(date '+%d.%m.%Y')\n$(pwd)" 0 0 0 \<br />

26 1 "Anzeigen aller Titel" \<br />

27 2 "Suchen nach Titel" \<br />

28 3 "Abspielen eines Titels" \<br />

29 4 "Ende" 2> $erg<br />

30 echo<br />

31 case "$(cat $erg)" in<br />

32 1) anzeigen > $tmp<br />

33 dialog ‐‐title "Anzeigen aller Titel" ‐‐textbox "$tmp" 0 0<br />

34 ;;<br />

35 2) dialog ‐‐inputbox "Bitte Titel angeben" 0 0 2> $erg<br />

36 suchen "$(cat $erg)" | awk '{ printf("%d %s ",NR,$0 ) }' > $tmp<br />

37 dialog ‐‐title "Anzeigen der gefunden Titel" ‐‐menu "Bitte wählen" 0 0 0 \<br />

38 0 Ende $(cat $tmp)<br />

39 ;;<br />

40 3) dialog ‐‐inputbox "Bitte Titel angeben\noder [Eingabe] drücken." 0 0 2> $erg<br />

41 such="$(cat $erg)"<br />

42 suchen "$such" | awk '{ printf("%d %s ",NR,$0 ) }' > $tmp<br />

43 dialog ‐‐title "Anzeigen der gefunden Titel" ‐‐menu "Bitte wählen" 0 0 0 \<br />

44 0 Ende $(cat $tmp) 2> $erg<br />

45 nr=$(cat $erg)<br />

46 stueck=$((echo ‐n ' ';cat $tmp) | sed "s/.* ${nr} \([^ ]*\).*/\1/")<br />

47 dialog ‐‐infobox "\"$stueck\" wird abgespielt\n(beenden mit Strg‐C)" 0 0<br />

48 abspielen "$such" $(cat $erg) > /dev/null 2>&1<br />

49 ;;<br />

50 4 | '') weiter=false<br />

51 continue<br />

52 ;;<br />

53 *) echo 'Bitte eine der angegebenen Nummern wählen!'<br />

54 ;;<br />

55 esac<br />

56 done<br />

57 dialog ‐‐infobox 'see you later...' 0 0<br />

58 sleep 1<br />

59 rm ‐f $erg $tmp<br />

60 <br />

61 exit 0<br />

www.ubuntu-user.de 02/2012<br />

UBUNTU<br />

user<br />

89

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!