command_per_nutzereingabe.sh
von heinz- SNIPPET_TEXT:
-
- #!/bin/bash
- #
- # Dieses Script benoetigt >dialog< um ein Menue anzuzeigen.
- #
- # Start mit:
- # scriptname.sh "SOUND-DATEINAME"
- #
- # Im Selben Verzeichnis wie die Sound-Datei muss auch eine Datei mit den Zeiten liegen
- # Ihr Name muss der gleiche sein wie der Sound-Dateiname nur mit der Endung >.time<
- #
- # z.B.
- # Liedname "tolles Lied.mp3"
- # damm muss die Zeit-Datei so heissen:
- # "tolles lied.time"
- #
- # Der Aufbau der Zeit-Datei ist:
- # start-time,stop-time
- # start-time,stop-time
- # start-time,stop-time
- # start-time,stop-time
- #
- #
- # heinz
- #
- # Ist das Programm dialog vorhanden?
- if test -z "`which dialog`"
- then
- echo -e "\aDieses Script benoetigt leider das Programm >dialog< um zu funktionieren!\n"
- exit 1
- fi
- # Dateiname der Sound-Datei testen
- if test -z "$1" -o "$1" == "--help"
- then
- echo -e "\a\nBitte gib den Dateinamen der Sound-Datei an!\n"
- echo -e "scriptname.sh \"SOUND-DATEINAME\"\n"
- exit 1
- else
- # Existiert die Datei?
- if ! test -f "$1"
- then
- echo -e "\a\nDie Datei >$1< existiert nicht oder ist keine \"normale\" Datei!\n"
- exit 1
- else
- # Existiert die Zeit-Datei?
- datei="$1"
- if ! test -f "${datei%%.*}.time"
- then
- echo -e "\a\nDie Zeit-Datei >${datei%%.*}.time< existiert nicht!\n"
- exit 1
- else
- # Zeiten einlesen
- start_stop_zeiten=( `<"${datei%%.*}.time"` )
- fi
- fi
- fi
- # Sonstiges
- scriptpfad="$(dirname `readlink -f $0`)"
- dialog="dialog --stdout --colors"
- test -s "$scriptpfad/dialogrc" && export DIALOGRC="$scriptpfad/dialogrc"
- fenstergroesse='80x24'
- # Funktionen -------------------------------------------------------------------
- function Menue_erstellen
- {
- z=0
- while test -n "${start_stop_zeiten[$z]}"
- do
- echo " $z \Z2-->${start_stop_zeiten[$z]}"
- let z++
- done
- }
- # Hauptteil --------------------------------------------------------------------
- # Fenstergroesse
- let h=${fenstergroesse##*x}-1
- b=${fenstergroesse%%x*}
- let l=$h-3
- # Hauptschleife
- while true
- do
- wahl=$($dialog --default-item "$wahl" --cancel-label Ende --menu "\Z2Bitte Waehle einen Zeitabschnitt:\n\Z4$datei" $h $b $l `Menue_erstellen`)
- test $? -eq 1 && break
- echo "vlc \"$datei\" --start-time ${start_stop_zeiten[$wahl]%%,*} --stop-time ${start_stop_zeiten[$wahl]##*,} --repeat"
- done
Quellcode
Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN