-   Programming (
-   -   How to execute a command line in a shell script (

orgazmo 05-09-2005 05:04 AM

How to execute a command line in a shell script

I'm coding a shell script at this time, and i wanted to know how i could execute a command line in this shell script.

To give you more details, i try to execute ffmpeg with some arguments, it looks like that: ./ffmpeg -an -b 400 -i video.mpg video.m4v.

Thank you for your help.

trevelluk 05-09-2005 05:16 AM

You just put that line in the script.

Marius2 05-09-2005 05:20 AM

Simply include the line in your shell script (without the ./); you need to make sure that the PATH variable contains the path to ffmpeg (usually /usr/local/lib, if I remember correctly).
This will help in most cases (flames welcome):
At the console, type

echo $PATH >> </path/to/your/script/>

then open the script with any text editor, copy the last line to the second line (first will probably read #!/bin/bash), then write at the beginning of the line

If your path is not included in said line, add it to the end with <:/your/path>



ffmpeg ...

orgazmo 05-09-2005 05:31 AM

ok thanks... but do i really need to set the path???

It should be in usr/local/bin, not lib since it's an executable... but if i put it in the same path that my script, it could work?

Marius2 05-09-2005 07:33 AM

If it has no further dependancies, yes. Use
ldd <your_binary>
to see which libraries ffmpeg depends on. But I'd say its rather ugly under *NIX to keep binaries in other directories than those specified in file hierarchy standard, see

orgazmo 05-09-2005 10:16 AM

Ok thanks.

I need help one more time :D

Something very simple in fact but i do not know how the if else and while tests work in shell bash...

I use a line like that, the same that i use in C-C++...

while (sed -n '$jp' ls_mpg.txt && $ok == 0)
if (sed -n '$jp' ls_mpg.txt == sed -n '$in' ls_mp4.txt) then
$ok = 1

does this ("sed -n '$jp' ls_mpg.txt && $ok == 0") works?

Thank you for your help

All times are GMT -5. The time now is 08:23 AM.