[GTALUG] Bash Problem

Mauro Souza thoriumbr at gmail.com
Sat Jan 7 19:43:05 EST 2017


Quotes. I second to that.

To see how the script are interpreting things, run bash -vx script.sh.

Or install and use bashdb (bash debugger). It's very, very useful.

On Jan 7, 2017 22:38, "Michael Galea via talk" <talk at gtalug.org> wrote:

> On 01/07/17 19:25, Stephen via talk wrote:
>
>> I am new to Bash scripts.
>>
>> I am trying to create a script to use avconv to convert mkv files to mp4
>> file.
>>
>> Run one at a time the command runs fine.
>>
>> When I execute this script I get an error about an unknown parameter. I
>> am guessing that the expansion with the filename variables is failing.
>>
>> Can someone help me correct?
>>
>> Thank you!
>>
>> #!/bin/bash
>> # Usage: convert file to mp4
>> shopt -s nullglob
>> ext='.mp4'
>> for f in *.mkv
>> do
>>    base=$(basename $f .mkv)
>>    nFname=$base".mp4"
>>    echo $nFname
>>    avconv "-i $f -c:v libx264 -c:a copy $nFname"
>> done
>>
>>
>>
> Shouldn't you be quoting $f and $nFname separately, e.g.
>  avconv -i "$f" -c:v libx264 -c:a copy "$nFname"
> otherwise filenames with spaces will see -i catch only part of the
> filename.
>
> Try adding echo in front of the avconv command and see what would be
> executed from within the script.
>
> --
> Michael Galea
> ---
> Talk Mailing List
> talk at gtalug.org
> https://gtalug.org/mailman/listinfo/talk
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://gtalug.org/pipermail/talk/attachments/20170107/92c976f3/attachment.html>


More information about the talk mailing list