PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bash-script korrigieren



Eremit
03-04-2005, 18:01
hallo,

ich habe ein kleines script für mich geschrieben welches mir ein paar aufgaben automatisiert. nur leider funktioniert die letzte zeile nicht. fehlermeldung:
----------
eremitpc:~/test> dvdkopieren
/test/dvdkopieren: line 16: /test/TESTDVD/VIDEO_TS/VIDEO_TS.IFO: Keine Berechtigung
----------

wine startet ja auch aber er findet die ifo-datei nicht. woran kann das liegen?
scheinbar versucht das script den parameter zu starten anstatt ihn als parameter von wine anzusehen.

hier das script. hoffe ihr könnt mir helfen.

mfg

Eremit

p.s. ich gebe zu das script ist noch nicht optimal aber um es zu verbessern muss es dennoch erst mal funktionieren.... ;)


-------------------
#!/bin/bash
DVDNAME=`dvdbackup -i /dev/dvd -I 2>/dev/null | grep "DVD-Video information" | awk '{ print $8 }'`
DVDNAME=`kdialog --title "DVD-Name" --inputbox "Wie soll die DVD heissen?" "$DVDNAME"`

DVDPFAD=`kdialog --title "DVD-Pfad" --getexistingdirectory .`
dvdbackup -i /dev/dvd -M -o $DVDPFAD -n $DVDNAME

mkdir -p $DVDPFAD"/"$DVDNAME"/AUDIO_TS"

DVDSHRINK="/media/c/Programme/DVDShrink/DVDShrink.exe"
#DVDSHRINK=`kdialog --title "Wo ist DVDShrink?" --inputbox "Wo befindet sich DVDShrink?" "$DVDSHRINK"`

PARAMETERPFAD=`$DVDPFAD"/"$DVDNAME"/VIDEO_TS/VIDEO_TS.IFO"`

exec `wine $DVDSHRINK $PARAMETERPFAD`

peschmae
03-04-2005, 20:26
Ich glaube das Problem ist dass du hier ` schachtelst (indirekt via die Variablen). Das geht nicht - wie soll die Shell wissen dass du wenn du `bla`asdf`` schreibst `(bla`asdf`)` und nicht (`bla`)(asdf``) meinst? Besser $(blubb) statt `blubb` verwenden, die darfst du schachteln und dort ist auch öffnen/schliessen unterscheidbar.

Wozu brauchst du eigentlich das Exec überhaupt? Macht das Sinn? Reicht nicht einfach ein
wine $DVDSHRINK $PARAMETERPFAD
?

MfG Peschmä

Eremit
03-04-2005, 21:29
hallo,

das "exec" muss natürlich nicht sein. ich dachte nur, dass es dadurch vielleicht besser klappt.
kannst du mir die letzten beiden zeilen posten? ich habe nun versucht die ausdrücke durch besagte $(Variable) zu ersetzen aber damit klappt es auch nicht:
wine $(DVDSHRINK) $(PARAMETERPFAD)
bringt dann folgendes als fehler:
DVDSHRINK: command not found
PARAMETERPFAD: command not found

vielleicht könnt ihr mir ja helfen.

mfg

Eremit

Eremit
03-04-2005, 21:50
hallo,

ich habe den fehler nun selber gefunden:
cd $DVDPFAD"/"$DVDNAME"/VIDEO_TS"
wine $DVDSHRINK ./VIDEO_TS.IFO

danke aber für eure hilfe.

mfg

Eremit