Capture output of remote script execution


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

#Master script I execute on the local machine
ssh "sh /var/local/test/sh
#Remote script
mkdir /var/local/testdir
echo "Created test directory"

Open in new window

Who is Participating?
omarfaridConnect With a Mentor Commented:

ssh "sh -x /var/local/test/sh" > localfile
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
shanrajAuthor Commented:
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.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.