Pseudo-terminal will not be allocated because stdin is not a terminal.

通过这种方式执行command的时候:

ssh -q user@server <<EOF

command

EOF

会报error: 

Pseudo-terminal will not be allocated because stdin is not a terminal. 

解决办法:

加参数:-T

ssh -Tq user@server <<EOF

command

EOF

man 解释:

     -T      Disable pseudo-tty allocation.

     -t      Force pseudo-tty allocation.  This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful,

             e.g. when implementing menu services.  Multiple -t options force tty allocation, even if ssh has no local tty.

 

ssh

相关推荐