ubuntuusers.de

Eingabe in ein Skript

Status: Ungelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

KeinPlan

Anmeldungsdatum:
9. Juni 2010

Beiträge: 63

ich habe ein Befehl gefunden mitdem ich beiträge aus der Zdf-mediathek downloaden kann.

1
mplayer -playlist Streaming-Adresse.asx -dumpstream -dumpfile Dateipfad.wmv

Gibt es die Möglichkeit ein Skript so zu entwickeln, dass der benutzer zuerst nach der Asx Datei gefragt wird und dann wo er das Video speichern will.

Danke

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Klar. Schau mal unter help read nach.

Weitere Tips und Links zum Skripten (lernen) findest Du auch auf meiner persönlichen Seite: http://ubuntuusers.de/user/track/#Scripten

LG,

track

KeinPlan

(Themenstarter)

Anmeldungsdatum:
9. Juni 2010

Beiträge: 63

eigentlich müsste das Skript für die eingabe der Asx Datei also so aussehen:

1
2
3
4
5
#!/bin/bash
#!/bin/bash
echo -n "ASX-Datei [ENTER]: "
read var_asx
mplayer -playlist $var_asx -dumpstream -dumpfile Dateipfad.wmv

Beim ausführen kommen aber Fehlermeldungen. Das sieht dann so aus:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
soeren@soeren-desktop:~/Shell$ ./asx
ASX-Datei [ENTER]: #!/bin/bash
echo -n "ASX-Datei [ENTER]: "
read var_asx
mplayer -playlist $var_asx -dumpstream -dumpfile Dateipfad.wmvFile not found: '#!/bin/bash'
Failed to open #!/bin/bash.
Error while opening playlist file #!/bin/bash: No such file or directory
Error parsing option on the command line: -playlist
MPlayer SVN-r1.0~rc3+svn20090426-4.4.3 (C) 2000-2009 MPlayer Team
soeren@soeren-desktop:~/Shell$ echo -n "ASX-Datei [ENTER]: "
ASX-Datei [ENTER]: soeren@soeren-desktop:~/Shell$ read var_asx

soeren@soeren-desktop:~/Shell$

borgiborgi

Avatar von borgiborgi

Anmeldungsdatum:
10. August 2009

Beiträge: 386

Wohnort: 3rd stone from the sun

KeinPlan schrieb:

eigentlich müsste das Skript für die eingabe der Asx Datei also so aussehen:

1
2
3
4
5
#!/bin/bash
#!/bin/bash
echo -n "ASX-Datei [ENTER]: "
read var_asx
mplayer -playlist $var_asx -dumpstream -dumpfile Dateipfad.wmv

Hi,

ein Script darf nur einen Pseudokommentar enthalten.

Lösche mal das zweite "#!/bin/bash".

Gruß

borgiborgi

KeinPlan

(Themenstarter)

Anmeldungsdatum:
9. Juni 2010

Beiträge: 63

logisch, war ein Fehler beim kopieren

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Hast Du das Problem mit "Failed to open /bin/bash" immer noch ?

Was sagt denn ein which bash im Terminal ?

Und wie rufst Du das Skript auf ? - nicht mit ./asx ?

Übrigens solltest Du unbedingt die Variablen in Gänsefüßchen setzen:

mplayer -playlist "$var_asx" -dumpstream -dumpfile Dateipfad.wmv

- sonst knallt es, sobald es ein Leerzeichen in der Variablen vorkommt.

track

KeinPlan

(Themenstarter)

Anmeldungsdatum:
9. Juni 2010

Beiträge: 63

Die eingabe von " which bash" erwirkt die ausgabe von "/bin/bash" Wie sollte ich das Skript sonst aufrufen. es liegt nur im Ordner Shell

Vain

Avatar von Vain

Anmeldungsdatum:
12. April 2008

Beiträge: 2510

Äh,

KeinPlan schrieb:

Beim ausführen kommen aber Fehlermeldungen. Das sieht dann so aus:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
soeren@soeren-desktop:~/Shell$ ./asx
ASX-Datei [ENTER]: #!/bin/bash
echo -n "ASX-Datei [ENTER]: "
read var_asx
mplayer -playlist $var_asx -dumpstream -dumpfile Dateipfad.wmvFile not found: '#!/bin/bash'
Failed to open #!/bin/bash.
Error while opening playlist file #!/bin/bash: No such file or directory
Error parsing option on the command line: -playlist
MPlayer SVN-r1.0~rc3+svn20090426-4.4.3 (C) 2000-2009 MPlayer Team
soeren@soeren-desktop:~/Shell$ echo -n "ASX-Datei [ENTER]: "
ASX-Datei [ENTER]: soeren@soeren-desktop:~/Shell$ read var_asx

soeren@soeren-desktop:~/Shell$

das sieht so aus, als hättest du den Skriptinhalt in der Zwischenablage gehabt und das dann am Prompt von read eingefügt. Entschuldige, wenn ich so blöd frage, aber hast du da vielleicht eine URL aus der Zwischenablage einfügen wollen und das ist schiefgegangen? Was passiert, wenn du einfach mal manuell „hallo“ eingibst und Enter drückst?

An dem Skript selbst kann man ja nicht allzu viel falsch machen.

KeinPlan

(Themenstarter)

Anmeldungsdatum:
9. Juni 2010

Beiträge: 63

Dann folgt diese Meldung

1
2
3
4
5
6
7
8
soeren@soeren-desktop:~/Shell$ ./asx
ASX-Datei [ENTER]: Hallo
File not found: 'Hallo'
Failed to open Hallo.
Error while opening playlist file Hallo: No such file or directory
Error parsing option on the command line: -playlist
MPlayer SVN-r1.0~rc3+svn20090426-4.4.3 (C) 2000-2009 MPlayer Team
soeren@soeren-desktop:~/Shell$ 

KeinPlan

(Themenstarter)

Anmeldungsdatum:
9. Juni 2010

Beiträge: 63

Danke, Dake Ich hab den Fehler gefunden. jetzt funktioniert alles.

Antiqua Team-Icon

Avatar von Antiqua

Anmeldungsdatum:
30. Dezember 2008

Beiträge: 4534

#!/bin/bash

if [ -n $1 ]

 	then
 		echo -e "\nBenutzung: $0 Playlist Filename\n"
 		echo "Playlist ist entweder ein Textfile"
 		echo "         mit URLs oder eine URL"
 		echo "Filename ist der Name des zu speichernden"
 		echo -e "         Files mit passender Endung (u. Pfad)\n"
 	else
 		mplayer -playlist $1 -dumpstream -dumpfile $2
fi

die einfachste Variante, sogar mit eingebauter Hilfe (allerdings sollten besser keine Leerzeichen vorkommen 😉

KeinPlan

(Themenstarter)

Anmeldungsdatum:
9. Juni 2010

Beiträge: 63

Wie soll ich das jetzt einfügen

Antworten |