PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : brennscript...



oliver
13-06-2003, 16:48
so, ich wollte nur ein kleines sh script bauen, bin n00b was das angeht.. also seht einfach selbst :)

#!/bin/bash
echo "Welcome to SlackBurn0r, written by Oliver Z. :)"
echo "I'm just a human, this script could have bugs"
echo " "
echo "Warning! Copy the files to the Dir, DONT mv them, they'll be deleted!"
echo " "
echo "Enter the directory where the file(s) are: "
read dir
cd $dir
echo "Wechsle nach $dir"
#################### NEEDED APPS ####################
if test `which cdrecord 2>/dev/null | wc -l` -eq 0;
then
echo "You need 'cdrecord' to use this script!"
exit
fi

if test `which mpg123 2>/dev/null | wc -l` -eq 0;
then
echo "You need 'mpg123' to use this script!"
exit
fi

if test `which cdrdao 2>/dev/null | wc -l` -eq 0;
then
echo "You need 'cdrdao' to use this script!"
exit
fi

if test `which ogg123 2>/dev/null | wc -l` -eq 0;
then
echo "You need 'ogg123' to use this script!"
exit
fi

if test `which vcdimager 2>/dev/null | wc -l` -eq 0;
then
echo "You need 'vcdimager' to use this script!"
exit
fi

if test `which mkisofs 2>/dev/null | wc -l` -eq 0;
then
echo "You need 'mkisofs' to use this script!"
exit
fi
####################### CONFIGS ##########################
echo "Wichtig! Das Script editieren"
#Hier stehen die settings die nich abgefragt wurden...
echo "Bitte device angeben: (zb: 0,0,0) "
read scsi_dev
echo "Bitte Brenngeschwindigkeit angeben: "
read cd_speed
############### TEST ##############################
if test `ls -d $dir/* 2>/dev/null | wc -l` -eq 0
then
echo " "
echo "There are 0 files inside!"
exit
fi
############### UMWANDELN VON MP3 -> WAV ############
echo "MP3 -> WAV ()"
if test `ls -c $dir/*.mp3 2>/dev/null | wc -l` -eq 1
then
echo " "
echo "Found *.mp3 file(s)"
for I in *.mp3
do mpg123 -w "$I.wav" "$I"
echo " $I -> $I.wav " && rm "$I"
done
fi
############# UMWANDELN VON OGG -> WAV ##############
echo "OGG -> WAV ()"
if test `ls -c $dir/*.ogg 2>/dev/null | wc -l` -eq 1
then
echo " "
echo "Found *.ogg file(s)"
for X in `ls -c $dir/*.ogg 2>/dev/null`
do echo "$X" && oggdec "$X" && rm "$X"
done
fi
#################### MPG CD BRENNEN #################
echo "MPG ()"
if test `ls -d $dir/*.mpg 2>/dev/null | wc -l` -eq 1
then
echo " "
echo "Found *.mpg file(s)"
echo "Ist das File vcd11, vcd2 oder svcd: "
read cd_typ
for L in "`ls $dir/*.mpg`"
do vcdimager -t $cd_typ --update-scan-offsets --cue-file="$dir/$L.cue" --bin-file="$dir/$L.bin" "$L"
done

echo "Soll ich Jetzt die CD brennen? :"
read antwort
if [ $antwort = "ja" ]; then
for N in "`ls $dir/*.cue`"
do
echo "Start in 10 Sek. mit dem Brennen der Datei $N!"
sleep 10;
cdrdao write --device $scsi_dev --driver generic-mmc --speed $cd_speed --force $N*.cue
done
exit
fi
fi
################ WAV CD BRENNEN ####################
echo "WAV ()"
if test `ls -d $dir/*.wav 2>/dev/null | wc -l` -eq 1
then
echo " "
echo "should i burn now?"
read wav_burn
if [ $wav_burn = "ja" ]; then
for B in "`ls $dir/*.wav`"
do cdrecord -v -audio -pad dev=$scsi_dev speed=$cd_speed $dir/*.wav
done
fi
exit
fi
################ CUE CD BRENNEN ######################
echo "CUE ()"
if test `ls -d $dir/*.cue 2>/dev/null | wc -l` -eq 1
then
echo " "
echo "Found a *.cue file!"
for F in "`ls $dir/*.cue`"
do
echo "burn? : "
read answer
if [ $answer = "ja" ]; then
echo
echo
echo
sleep 1
echo "Jetzt gehts los, in 10 Sekunden fange ich an $F zu brennen!"
echo "Abbrechen mit Strg + C!!!"
sleep 10
cdrdao write --device $scsi_dev --force -v --driver generic-mmc --speed $cd_speed $F.cue
fi
done
exit
fi
~

Vielleicht findet ja wer den fehler, er erkennt nur 1 file, bei mehreren zb. 4 mp3's erkennt er keine :(

fork
13-06-2003, 22:56
Ja ist klar, Du fragst ja nur ab ob genau eine da ist:

if test `ls -c $dir/*.mp3 2>/dev/null | wc -l` -eq 1
Besser waere es auf groesser oder gleich 1 abzufragen.

if test `ls -c $dir/*.mp3 2>/dev/null | wc -l` -ge 1

oliver
14-06-2003, 11:27
genial, es funtzt, dankeeeee :)
werd mir sh scripting mal genauer anschauen... wenn mans richtig kann rockt das ziemlich

thxle

oliver