LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Programming (http://www.linuxquestions.org/questions/programming-9/)
-   -   How to execute a command line in a shell script (http://www.linuxquestions.org/questions/programming-9/how-to-execute-a-command-line-in-a-shell-script-321574/)

orgazmo 05-09-2005 05:04 AM

How to execute a command line in a shell script
 
Hello!

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/your_script.sh>

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
PATH=$PATH:

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

Example:

#!/bin/bash
PATH=$PATH:/bin:/sbin:/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
http://www.pathname.com/fhs/

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++...

Test:
[...]
while (sed -n '$jp' ls_mpg.txt && $ok == 0)
do
if (sed -n '$jp' ls_mpg.txt == sed -n '$in' ls_mp4.txt) then
$ok = 1
fi
[...]

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 10:19 AM.