Hallo Jan! Am Mittwoch, 7. August 2002 23:08 schrieb Jan Trippler:
On Mit, 07 Aug 2002 at 09:37 (+0200), Jost Ammon wrote:
[schnipp]
| #!/bin/sh | for file in *.mp3 | do | mpg123 -w "$file.wav" "$file" | done
Das kann nicht laufen. $file.wav wird als track1.mp3.wav rauskommen - wenn denn überhaupt eine MP3-Datei im Verzeichnis existiert (*.mp3 wird durch die Shell ersetzt durch alle existierenden Dateien mit Endung .mp3), sonst kommt *.mp3 raus.
Da bin ich ja nun trotzdem fein raus, da ich Gott sei Dank die Quellenangabe nicht vergessen habe: Das Skript stammt aus dem Linux-User 6/2002 aus einem Artikel über "at" und "cron" - um genau das Anliegen des Fragestellers zu erledigen. Wie gesagt habe ich von Shellscripting null Ahnung und habe es vorher auch nicht getestet.
Und noch was: file sollte man möglichst _nicht_ als Variablennamen nutzen, das ist ein Kommando (man file).
Hab mir weiter nichts dabei gedacht, da ich das Skript einfach abgetippt hab' (und nochmal fein raus *hehe*).
was für eine Funktion hat das $ Zeichen? was sagt die Zeile #!/bin/sh? und braucht es die senkrechten Balken?
man bash
Sorry für die Kurzform, aber Du solltest Dich auf jeden Fall näher mit der Shell beschäftigen, sonst nutzt Du das Linux-System nie auch nur annähernd aus. Am besten ist noch, wenn Du Dir ein gutes Buch zu Linux kaufst.
Ähm, Christian: Du siehst, die Pipe-Zeichen verwirren nur. Außerdem verhindern sie, dass man sich so einen Codeschnipsel einfach mal kopiert und testet. Lass sie besser weg.
Menno, jetzt wollte ich einmal cool, trendy, hip und total 'in' sein. Raub' mir doch nicht meine Illusionen ;o) Aber du hast Recht: War nicht der Hit *g* [richtiges Shell-Script + Erklärung]
Wie gesagt: Dringender Hinweis - beschäftige Dich mit der Shell!
ACK
Jan
Tschau, Christian (der seiner Bash leider viel zu wenig Aufmerksamkeit widmet) -- Two things that are essential to life is WD 40 and duct tape. If it moves and it isn't supposed to use the duct tape. If it doesn't move and it's supposed to use the WD 40.