2013-03-05 119 views
3

我已经创建了一个shell脚本,如下所示。但它不读取用户名和密码。Iam期望从此脚本创建的方式是作为普通用户登录到远程机器并登录到root用户以在那里运行一些命令。root用户没有在远程机器的shell脚本中执行命令

ssh -t [email protected] ' 
    echo "user logined !"; 
    su root -c " 
    echo Give username :; 
    read username; 
    echo Give password :; 
    read password; 
    echo $username; 
    echo $password; 
    "; 
' 
+0

为什么不以“root”身份登录到10.3.2.0以开始? – chepner 2013-03-05 16:18:18

回答

3

你需要躲避引号内的$的为变量:

ssh -t [email protected] ' 
    echo "user logined !"; 
    su root -c " 
    echo Give username :; 
    read username; 
    echo Give password :; 
    read password; 
    echo \$username; 
    echo \$password; 
    "; 
' 

否则,由ssh命令作为qbadmin用户创建的外壳是要去$username执行字符串插值和$password,然后执行su命令。

+0

谢谢老兄:)。它的工作! – user103134 2013-03-06 03:08:46

相关问题