3

我已经创建了一个如下所示的 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;
  ";
'
4

1 回答 1

3

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

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作为 qbadmin 用户的命令创建的 shell 将在执行命令之前$username$password之前执行字符串插值su

于 2013-03-05T18:24:46.843 回答