我写了一个执行
的perl脚本ssh -t someuser@somehost somecommand
其中-t
允许我输入远程执行的somecommand
的密码。现在我需要使用gradle中的脚本,我得到了
Pseudo-terminal will not be allocated because stdin is not a terminal
我已经尝试了-tt
选项,它允许我运行命令,但没有任何内容传递给远程进程。
我猜,我的问题就像this unanswered python question。
如何从gradle执行脚本,以便它允许我将密码传递给远程进程(当从命令行执行脚本时,该工作正常)?
> Task :overwriteDb
An output line produced by my script
Pseudo-terminal will not be allocated because stdin is not a terminal.
Enter password: mysqldump: Got error: 1045: "Access denied for user ...
从我的脚本输出后,ssh
似乎在抱怨。删除数据库会提示输入密码,并立即继续并投诉。
使用ssh -tt
代替ssh -t
时,不会发出任何警告,也没有后续行;这个过程永远悬而未决。