脚本调用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时要添加参数来指明这是来自脚本的调用。

相关文章推荐

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

原文地址::http://www.jianshu.com/p/e66014b67506 问题: 今天遇到一个ssh登录问题,当远程登录主机时出现Pseudo-ter...

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
  • 872

LINUX命令总结

1、 永久更改ip ifconfig eth0 新ip 然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip 2、从Linux上远程显示Windows...

Linux_Shell 利用ssh, expect 在多个机器上执行指令

相关的基础指令介绍 ssh :     http://www.jb51.net/article/59255.htm  (ssh 命令 --》 远程终端执行指令部分) expect : http:/...

Linux---XXX is not in the sudoers file. This incident will be reported

源文: http://www.xuehuile.com/blog/54ec6e70e7ac4367926403e00cdaceda.html 一、 1 $wher...

linux系统使用sudo命令报xxx is not in the sudoers file.This incident will be reported.的解决方法

在使用sudo命令前时,用户确保在sudoers文件中已添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名),否则 会报xxx is not in the sudoers file....

xxx is not in the sudoers file. This incident will be reported.

xxx is not in the sudoers file. This incident will be reported.ubuntu下使用sudo命令遇到如下问题: xxx is not ...
  • yyinhai
  • yyinhai
  • 2016年10月27日 11:00
  • 392

the app xxx.app could not be added to your iTunes library because it is not a valid app

现在可以双击HelloiPad.ipa文件,看看可以加入到iTunes了。 直接把.app直接拖到iTunes里或者打包成.ipa,双击加入iTunes中,都会提示错误: The app “xxx...

Reference variable is not allocated memory

Here is a memory map; a representation of memory as a sequence of blocks:     address    01   02   ...

WCF The service cannot be activated because it does not support ASP.NET compatibility

测试发布到虚拟目录中时发生的报错现象,由于不支持asp.net兼容性而导致服务无法激活启用。具体错误信息如下:Server Error in '/Service2' Application. ----...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:脚本调用ssh后出现Pseudo-terminal will not be allocated because stdin is not a terminal
举报原因:
原因补充:

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