ubuntuusers.de

Parameter eines Bash-Scripts auseinandernehmen und teilweise ändern

Status: Gelöst | Ubuntu-Version: Ubuntu 10.10 (Maverick Meerkat)
Antworten |

fatzgenfatz

Anmeldungsdatum:
10. Oktober 2009

Beiträge: 216

Hallo,

mein "Problem" ist für erfahrene Scripter sicher total simpel, aber bis jetzt hatte ich damit leider noch nicht viel zu tun.

Da meine "Archiv"-Platte meines VDR langsam voll läuft möchte ich bestimmte Aufnahmen von MPEG2 ins platzsparende x264-Format konvertieren. Ich wollte das mit einem cron-script auf meinem "Konvertierungsserver" machen (oder alternativ halb-manuell). Als Konvertierer habe ich mir Handbrake ausgesucht. Die Befehlszeile lautet dafür:

1
HandBrakeCLI -i eingabedatei.ts -o ausgabedatei.mp4 -diverse-optionen

Nun hätte ich gerne, dass ich das Script (convert.sh) mit folgender Syntax aufrufen kann:

1
convert.sh eingabedatei.ts

Das Script soll mir dann die richtigen Werte für eingabedatei und ausgabedatei einfügen. Grob gesagt soll es also ein Mal den Parameter für "-i" einfügen und ein Mal die Erweiterung .ts durch .mp4 ersetzen und als -o ausgabedatei.mp4 einfügen.

Wie gesagt, das ist sicher total simpel, aber wie genau mache ich das?

Vielen Dank im Voraus! mfG, f.

Vain

Avatar von Vain

Anmeldungsdatum:
12. April 2008

Beiträge: 2510

Moin,

Argumente, die du dem Skript übergibst, stehen in „$1“, „$2“, „$3“ und so weiter. Wenn du dann Parameter Expansion verwendest, kann es (ausführlich) so aussehen:

1
2
3
4
5
6
#!/bin/bash

infile="$1"
outfile="${infile%ts}mp4"

HandBrakeCLI -i "$infile" -o "$outfile" -diverse-optionen

HTH. ☺

fatzgenfatz

(Themenstarter)

Anmeldungsdatum:
10. Oktober 2009

Beiträge: 216

Wow, das ging ja schnell! Vielen Dank für die Lösung, funktioniert perfekt!

mfG, f.

Antworten |