Shell Script to launch C program


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell Script to launch C program
# 1  
Old 03-28-2010
Question Shell Script to launch C program

Hi there, im new too shell scripting and was wondering if it is possible to create a shell script to take in a variable and load a c program.

My C program is a file monitor, and is started by using the terminal and using to following code

Code:
./monitor FileToBeMonitored

is it possible to have the user to input the directory of the file to be monitored, and the the script to run the program with the users input?

my script so far allows the user to define which file they want monitored, but i don't know how to implement the monitoring program

thanks for the help

gary
# 2  
Old 03-28-2010
You want to create several instances of the monitor program each looking at a different file found in the directory given as an argument to the script ?

ie:
Code:
#!/bin/sh

if [ -d $1 ]; then
  for i in $1/* ; do
    ./monitor $i &
  done
fi

# 3  
Old 03-28-2010
thanks for the reply. yes this is what i am trying to do. for the script to allow the user to define the file they wish to watch, then the script takes it in, and loads the monitor with their selected file. iv implemented your code and im getting an error message. this is a section of my code so far:

Code:
echo "please enter the file you wish to monitor";
read fname;
while true; do
read -p "are you sure you want to monitor the file: $fname?" yn

case $yn in
      [Yy]*) if [ -d $fname]; then 
           for i in $fname/*; do
               ./desktop/monitor $fname &
           done
       fi;;

[Nn]* ) exit;;


the error message im gettin is [: missing `]'
its from the line:

Code:
[Yy]*) if [ -d $fname]; then


thank you so much for your help redhead
# 4  
Old 03-28-2010
Code:
[Yy]*) if [ -d $fname ]; then

Don't forget the inner spaces between '[ ]'
# 5  
Old 03-28-2010
ahhh yes, so simple. It is working now (i believe) although the output that would usually be displayed when loaded in the terminal is not coming up. Iv had a look about and i believe i need to redirect the output to be visible in the shell script. would i do this with something like

Code:
n >& m

Which merges the output from stream n with stream m.
# 6  
Old 03-29-2010
Your script, as shown above, doesn't redirect any output. The standard output of the 'monitor' program goes to standard output (screen). If there's none, that's because the 'monitor' program doesn't provide it.
What happens if you type the commands in a terminal i.e.?
Code:
$ ./desktop/monitor $fname &

# 7  
Old 03-29-2010
$fname is your read directory, it is not the filename to monitor, the filename to monitor will be stored in $i within your for loop.
SO it should be:
Code:
echo "please enter the file you wish to monitor";
read fname;
while true; do
read -p "are you sure you want to monitor the file: $fname?" yn

case $yn in
      [Yy]*) if [ -d $fname ]; then 
           for i in $fname/*; do
               ./desktop/monitor $i &
           done
       fi;;

[Nn]* ) exit;;

But if it's only one filename, then theres no need for the directory check ie:
Code:
echo "please enter the file you wish to monitor";
read fname;
while true; do
read -p "are you sure you want to monitor the file: $fname?" yn

case $yn in
      [Yy]*) if [ -f $fname ]; then 
               ./desktop/monitor $fname &
           fi;;

[Nn]* ) exit;;

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Launch shell script with parameters from a webpage button

I want to create a simple html page that should contain 2 fields in which the user can write the input. Then I want to have a button that should launch a shell script with the parameters inserted by user in the fields from the webpage. This is the code behind my webpage: <html> <form... (2 Replies)
Discussion started by: black_fender
2 Replies

2. UNIX for Dummies Questions & Answers

Launch shell script if string match is found

I'm trying to write a simple shell script that looks at a given text file and if the only word in the file is 'completed', it launches another shell script. So far I have this almost working... if grep 'completed' $datafile then... however, using this logic the secondary shell script... (3 Replies)
Discussion started by: MickeyGreen
3 Replies

3. Shell Programming and Scripting

Perl script timer on program launch

So I am attempting to get a short but complex perl script to be able to time out an application that I will launch from a command line. The terminal I use is MKS C SHELL and I am having trouble doing the a job spawn that will launch the application and keep time on it. I know you could do this... (1 Reply)
Discussion started by: vas28r13
1 Replies

4. Shell Programming and Scripting

Launch a windows program from perl script

Hi i wanted to know if any one can give me an example on how to launch a windows program in a perl script. I wanted to open the nmap software on my computer with a perl script, i heard this can be done with the system function. Would the function be in this format: $text =... (1 Reply)
Discussion started by: kingbp
1 Replies

5. Shell Programming and Scripting

launch vnc session from unix shell script

Hi All, OS:AIX 64 bits Would like to know what is the command to launch vnc session from unix shell script so that Reports server is started from vnc session which should be launched from within the shell script. Thanks for your time! Regards, (0 Replies)
Discussion started by: a1_win
0 Replies

6. Programming

Problem with external program launch

Hello, in the application i'm writing i need to launch "recordmydesktop" to capture the screen,but i'm having a problem: when the recording stops,and the encoding of the saved file starts,the entire system hangs until the completion of the encoding.This happens if i launch recordmydesktop from my... (7 Replies)
Discussion started by: Zipi
7 Replies

7. UNIX for Advanced & Expert Users

Can we launch a shell script automatically upon ssh login?

Greetings all, I'll just like to know if it is possible to launch a shell script automatically upon a user's successful login into ssh from a remote host, without adding a command parameter to the ssh command... ie. after keying in ssh username@host (not ssh username@host "command") and upon... (1 Reply)
Discussion started by: rockysfr
1 Replies

8. Shell Programming and Scripting

How to launch a Csh shell script using Excel Macro ?

Hi all. I need to use excel macro at my desktop to launch a csh script which is in a solaris environment. What is the code that i can use in macro to help me with that ? Basically, the code need to telnet or ftp to the solaris environment and just run the script and the macro will output in an... (1 Reply)
Discussion started by: Raynon
1 Replies

9. Programming

launch an executable from a C++ program

Hi everybody! Could you please tell me how can I launch an executable from a C++ (on unix) program? thanks in advance! (2 Replies)
Discussion started by: nadiamihu
2 Replies

10. UNIX for Dummies Questions & Answers

how to launch program though telnet

I have launched telnet on nt and have connected to a unix server, I'm trying to run a program on the unix server which will launch a gui, but when I try to launch it I get the message "display not set\n" "By default set it to 0.0" I can sit down at the unix machine and launch the program with... (3 Replies)
Discussion started by: cbachman
3 Replies
Login or Register to Ask a Question