The UNIX and Linux Forums  


Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #1 (permalink)  
Old 03-14-2008
TinCanFury TinCanFury is offline
Registered User
  
 

Join Date: Mar 2008
Posts: 13
how to? launch command with string of command line options

my description from another thread...
Quote:
The other script I've got that I'd love to get working is one I wrote to combine a series of avi files using avidemux. to do this I wrote a script that takes the input files as the arguements, deduces the output file name and then because of avidemux's arguement procedure I have it create a set of strings that it needs to append to the call to avidemux for each file being added to the original. What I've done with this one is have it echo the required command to run which I can then copy and paste and it works fine, but it would be much nicer if I could get it to actually *launch* said command.
here's my code:

Code:
#!/bin/bash
IFS=$'\n'

function OutputName() {
        input=$1
        echo $input
        input=`echo "$input" | sed -e 's/.[Aa][Vv][Ii]//'`
        input=`echo "$input".avi`
        output_name=$input
}

if [[ -z "@ARGV" ]]; then
        echo "arguements are files to combine"
        exit
else
        if [[ ! -e $1 ]]; then
                echo "no such input video!"
                exit
        else
                first=`find "$1" -printf "%f"`
                echo "Input File Found!: $first"
                shift
        fi
        OutputName $first
        echo "Output video name will be: "$output_name""
        echo
fi

options="--audio-map --force-b-frame --force-unpack --rebuild-index"

appendlist=""

until [ -z "$1" ]
do
#       echo "$1"
#       echo "$appendlist"
        if [[ ! -e $1 ]]; then
                echo "no such input video! $1"
                exit
        else
                filename=`find "$1" -printf '"%f"'`
                appendlist="$appendlist $options --append $filename"
        fi
#       echo "$appendlist"
#       echo
        shift
done

echo "avidemux2_cli --nogui $options --load \"$first\" $appendlist --force-smart --save \"$output_name\" --quit"

thanks for the help!