2010-08-13 55 views
0

我有一个bash脚本,我写了一些列出了一些服务器/用户名。我选择了一个#,然后使用所述用户名将我连接到所述服务器。到目前为止,脚本工作正常,除了当我启动ssh时,bash脚本挂起。它不会将我转储到ssh中。SSH Bash脚本,方便连接

#!/bin/bash 
echo `clear` 
SERVER1="1.) Server1/username1" 
SERVER2="2.) Server1/username2" 
echo -e "Please choose a server:" 
echo $SERVER1 
echo $SERVER2 
read server 
if [ $server -eq 1 ]; then 
     serverconnect="ssh -t [email protected]" 
     servername="server1.com" 
     serveruser="username1" 
else 

     if [ $server -eq 2 ]; then 
       serverconnect="ssh -t [email protected]" 
       servername="server1.com" 
       serveruser="username2" 
     fi 
fi 

echo "Connecting you to: $servername as $serveruser" 
echo `$serverconnect` 
+0

你可能想利用一个'select'围绕一个'case',特别是如果你有两个以上的服务器(你可以使用数组来存储您的服务器名称和用户名)。你可以消除“serverconnect”,只是执行'ssh -t“$ serveruser @ $ servername”' – 2010-08-13 08:23:14

+0

实际上我有大约15台服务器。不知道如何使用select和case,来自php背景的bash。 – Unfundednut 2010-08-13 17:21:27

回答

3

只是正常执行ssh。不要把它里面的变量

if [ $server -eq 1 ]; then 
     serverconnect="[email protected]" 
     servername="server1.com" 
     serveruser="username1" 
else 

     if [ $server -eq 2 ]; then 
       serverconnect="[email protected]" 
       servername="server1.com" 
       serveruser="username2" 
     fi 
fi 

ssh -t "$serverconnect"