脚本调用ssh后出现Pseudo-terminal will not be allocated because stdin is not a terminal

原创 2008年11月04日 09:33:00

在最近一个刚刚完成的项目中,我们使用了SSH远程login到指定的服务器,在command模式下直接ssh + IP就可以了(通过设置不需要用户密码),如:ssh 10.22.19.54,使用exit退出到本机服务。为了完成一些自动化的工作,我将这段代码通过如下SHELL方式实现:

G_log="/home/admin/call.log"
G_var=$*

ssh 10.22.19.54 >>$G_log <<EOF
echo "I am 54 now."
echo "$G_var"

/home/admin//disp/adb.sh "$G_var"

exit
EOF

但是在调试的时候,我们发现了一个非常郁闷的问题,每次调用这个脚本之后会报如下错误:

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

TERM environment variable not set.

而且我们脚本是通过JAVA来调用的,在JAVA线程调用之后发现shell一直没退出,导致系统资源一直被占用,在大用户量先系统很快就撑不住了。为此必须尽快解决这个问题。

网上搜索了很久,发现一大堆类似的问题。看完之后,和我们的SA工程师一请教。他推荐加个参数 -tt试试,一试结果就出来了,而且速度还特别快。果然好东西啊。

总结了一下。在shell脚本调用ssh时要添加参数来指明这是来自脚本的调用。

是否允许分配伪终端解决

问题当使用jenkins构建触发器执行ssh命令的时候出现如下错误: Pseudo-terminal will not be allocated because stdin is not a ter...
  • phantom_111
  • phantom_111
  • 2017年02月21日 20:07
  • 271

ssh@host:""ssh切换到其他机器上执行多条命令;Pseudo-terminal will not be allocated because stdin is not a terminal.

1.背景:shell脚本在主机器上执行kafka的启动命令,其他机器也会起这个进程。之前的脚本每次执行的时候出现卡住的现象,不能回到命令行。解决方法:第一种#/bin/bash KAFKA_HOME=...
  • wyl9527
  • wyl9527
  • 2017年05月26日 15:27
  • 1777

Centos7.1 安装测试Alluxio 出现Pseudo-terminal will not be allocated because stdin is not a terminal 错误的解决

在Centos7.1系统安装测试过程中出现了Pseudo-terminal will not be allocated because stdin is not a terminal错误的解决方法...
  • wjqwinn
  • wjqwinn
  • 2016年07月15日 09:48
  • 397

ssh登录问题出现Pseudo-terminal will not be allocated because stdin is not a terminal错误

原文地址::http://www.jianshu.com/p/e66014b67506 问题: 今天遇到一个ssh登录问题,当远程登录主机时出现Pseudo-ter...
  • xqhrs232
  • xqhrs232
  • 2017年06月23日 09:35
  • 1185

ptsname() -- 获得从伪终端名(slave pseudo-terminal)

伪终端并不是真正的硬件终端设备,而是一个应用程序。打开一个终端,输入tty 这个命令来查看当前所使用的终端名: zhang@zhang-laptop:~$ tty /dev/pts/1 后面...
  • heron804
  • heron804
  • 2012年11月03日 17:09
  • 4448

TTY终端设备文件接口的基本结构

TTY终端设备文件接口的基本结构basic conception :终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写。Teletype是最早出...
  • thewayma
  • thewayma
  • 2008年11月20日 16:28
  • 1083

*非标准终端输入*

不晓得大家有没有见过这个的用法: 就是非标准终端输入的~ [oracle@99bill-as9 deploy]$ (echo . as.tomcat.env;echo tomcat status;...
  • zhuying_linux
  • zhuying_linux
  • 2011年12月30日 13:27
  • 2707

tty、pty、pts等(小记)

整理一下,内容会不太准确,不太严谨。 tty teletypewriter (电传打字机) 终端设备(Terminal) ...
  • dbzhang800
  • dbzhang800
  • 2011年11月06日 00:15
  • 9400

Linux下远程备份、上传工程,重启服务器

Linux服务器实现远程,原项目的备份、删除,新项目上传,以及远程重启服务器! 分成一个主shell调用三个shell文件步骤完成。 mainsh.sh一次按顺序执行多个脚本,将三步sh顺序完成: #...
  • typa01_kk
  • typa01_kk
  • 2014年12月16日 14:04
  • 1740

脚本调用ssh后出现Pseudo-terminal will not be allocated because stdin is not a terminal

在最近一个刚刚完成的项目中,我们使用了SSH远程login到指定的服务器,在command模式下直接ssh + IP就可以了(通过设置不需要用户密码),如:ssh 10.22.19.54,使用exit...
  • annicybc
  • annicybc
  • 2008年11月04日 09:33
  • 21757
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:脚本调用ssh后出现Pseudo-terminal will not be allocated because stdin is not a terminal
举报原因:
原因补充:

(最多只允许输入30个字)