我有一个脚本,它从keepass数据库(kpcli)找到用户名,密码和IP地址,并有一个变量$ ssh_info,它将输出返回到3行,如下所示
bobuser
bobpassword
bobip
对于我来说,在bash脚本中最好的方式是什么,然后说取$ ssh_info的结果
ssh bobuser@bobip and then use expect to send the password
像
这样的东西echo "$2" (bobpassword)
ssh $1@$3 (ssh bobuser@bobip)
甚至是一个期望脚本将$ 2(bobpassword)传递给ssh $ 1 @ $ 3
感谢您的帮助!
答案 0 :(得分:0)
也许这就是你想到的?
[DataContract(IsReference = true)]
public class MaterialCategory
{
[DataMember]
public int Id { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
[JsonIgnore]
public virtual ICollection<Material> Materials { get; set; }
}
使用shell变量expect <<END_EXPECT
lassign [split "$ssh_info" \n] user pw ip
ssh \$user@\$ip
expect "assword:"
send -- "\$pw\r"
interact
END_EXPECT
。 Tcl变量需要反斜杠才能将它们隐藏在shell中。
如果你想在shell中拆分多行字符串,我会做一个
$ssh_info