Link to home
Start Free TrialLog in
Avatar of shanraj
shanraj

asked on

Capture output of remote script execution

Hi

I do the following things on a remote linux box from a local linux box.

1. SCP a bash script to the remote system
2. SSH to the remote system and execute the bash script you copied in step 1.
3. Display the output of the remote script execution in the local machine.

I'm facing trouble with step 3. I could able to remotely execute the script. I verified this. But the script execution is not redirected to the local machine from where i'm executing.

What i have to do in my base script..?

#!/bin/sh
#Master script I execute on the local machine
scp test.sh 192.168.1.10:/var/local
ssh 192.168.1.10 "sh /var/local/test/sh
 
#!/bin/sh
#Remote script
mkdir /var/local/testdir
echo "Created test directory"

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of omarfarid
omarfarid
Flag of United Arab Emirates image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
One tool I use a lot to capture output from scripts is Expect. You can run your script on the remote host using Expect which will capture all the output, then you need to find a way to get the results back to your local host. This could be done by writing the output to a directory which is mounted on your local host from the remote host. Your local script could search the mounted directory until you see the file which contains the output.

Expect is an Open Source tool based on the language Tcl. You can find details on http://expect.nist.gov/
Avatar of shanraj
shanraj

ASKER

As Omarfarid said I routed the output to a local file and displayed the content of the file.

I also found another way. If you have arguments @$ in the main section of the script it displays the output without anything special. that's cool..

thanks for all.