gradle和"伪终端将不会被分配,因为stdin不是终端"

时间:2017-12-10 21:49:39

标签: gradle ssh terminal stdin pty

我写了一个执行

的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时,不会发出任何警告,也没有后续行;这个过程永远悬而未决。

0 个答案:

没有答案