根用户未在远程计算机中执行shell脚本中的命令

根用户未在远程计算机中执行shell脚本中的命令,shell,Shell,我已经创建了一个shell脚本,如下所示。但是它没有读取用户名和密码。我希望这个脚本能够以普通用户的身份登录到远程计算机,然后登录到root用户,在那里运行一些命令 ssh -t qbadmin@10.3.2.0 ' echo "user logined !"; su root -c " echo Give username :; read username; echo Give password :; read password; echo $u

我已经创建了一个shell脚本,如下所示。但是它没有读取用户名和密码。我希望这个脚本能够以普通用户的身份登录到远程计算机,然后登录到root用户,在那里运行一些命令

ssh -t qbadmin@10.3.2.0 '
  echo "user logined !";
  su root -c "
    echo Give username :;
    read username;
    echo Give password :;
    read password;
    echo $username;
    echo $password;
  ";
'

您需要为引号内的变量转义
$

ssh -t qbadmin@10.3.2.0 '
  echo "user logined !";
  su root -c "
    echo Give username :;
    read username;
    echo Give password :;
    read password;
    echo \$username;
    echo \$password;
  ";
'

否则,在执行
su
命令之前,
ssh
命令作为qbadmin用户创建的shell将在
$username
$password
上执行字符串插值。

为什么不以
root
身份登录到10.3.2.0开始?