Unix/Linux Go Back    

Shell Programming and Scripting BSD, Linux, and UNIX shell scripting — Post awk, bash, csh, ksh, perl, php, python, sed, sh, shell scripts, and other shell scripting languages questions here.

Using ssh command inside a script

Shell Programming and Scripting

Thread Tools Search this Thread Display Modes
Old Unix and Linux 02-10-2011
mick_000 mick_000 is offline
Registered User
Join Date: Jul 2010
Last Activity: 10 September 2012, 2:11 AM EDT
Posts: 15
Thanks: 1
Thanked 1 Time in 1 Post
Unix or Linux Question Using ssh command inside a script


I have a script file in server A. Inside the script file, I first have a ssh command that will connect to a remote server B. In the same script file itself, I have a sequence of commands that has to be run in server B. I am embedding these commands in the script file that I have in server A. When i run the script file in server A, it first gets connected to server B but nothing happens for sometime after which i get Connection timeout and some error in the command.

Is there a restriction in the kind of commands that can be executed in server B from server A with the scenario as mentioned above?

Instead of a script file, when i execute the commands one by one in console in server B it is getting executed. ie) first i connect to server B from server A using ssh and then run the commands one by one in server B. I want these commands to be placed in a script file and executed from server A.

Kindly provide a solution.

Thanks in advance.
Sponsored Links
Old Unix and Linux 02-10-2011
DGPickett DGPickett is offline Forum Advisor  
Registered User
Join Date: Oct 2010
Last Activity: 1 February 2016, 3:35 PM EST
Location: Southern NJ, USA (Nord)
Posts: 4,673
Thanks: 8
Thanked 587 Times in 560 Posts
When a script calls ssh, it should not try to be interactive (unless it is an expect script)! You have to set up the environment for a non-interactive ssh session, like this process for ksh:

echo ". ./.profile
<your_script_of_remote_commands>" | ssh2 user_id@host_or_ip ksh >>log_file 2>&1

The .profile needs to be stable when there is no terminal, similar to how it should be stable for sh and ksh:

if [ "$( tty 2>&1 )" != "not a tty" ]

Sponsored Links
Old Unix and Linux 02-10-2011
Chanakya.m's Unix or Linux Image
Chanakya.m Chanakya.m is offline
Registered User
Join Date: Jan 2006
Last Activity: 3 December 2012, 5:01 PM EST
Location: Bangalore, India
Posts: 57
Thanks: 1
Thanked 1 Time in 1 Post
Hi mick,
I am not sure about the restrictions on commands but I have below script that suits your requirement I believe.

/usr/bin/ftp -v -n "$SERVER" << cmd
    user "$USER" "$PASSWD"
    lcd $SOURCE

    Command 1
    Command 2
    Command n

This may help you, i am not sure.

Last edited by Franklin52; 02-10-2011 at 03:40 PM.. Reason: Please use code tags. thank you
Sponsored Links

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Linux More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
How to monitor a command inside shell script sussus2326 Shell Programming and Scripting 3 01-27-2011 05:41 AM
Need help! command working ok when executed in command line, but fails when run inside a script! 4dirk1 Shell Programming and Scripting 4 12-02-2010 05:47 AM
Exit out of the Script Command inside a Script jmungai UNIX for Dummies Questions & Answers 6 02-20-2009 04:26 PM
Run the command inside perl script vinay123 Shell Programming and Scripting 1 06-13-2008 10:01 AM

All times are GMT -4. The time now is 03:54 AM.