首页 > 解决方案 > 服务器询问终端类型阻止我自动运行命令

问题描述

我希望 ssh 到我部门的服务器,cd自动到一个目录,如果我愿意,希望能够自动运行其他命令。我已经尝试了几种方法,这些方法对堆栈溢出的很多人都有效,但它们对我不起作用。

我尝试了以下线程中的方法:

特别是,我尝试过:

1. ssh 单线

ssh -t user@domain.com 'cd /some/path; bash -l'

2.使用expect脚本

#!/usr/bin/expect -f
spawn ssh $argv
send "cd /some/path\n"
interact

两个代码看起来都很好,并且对线程中的人有用。但是,它们对我不起作用。

我预计,问题在于部门服务器在我登录时自动询问我的终端类型,从而阻止我的自动命令正常运行。

$ ssh -t user@domain.com 'cd /some/path; bash -l'
Terminal type? [xterm-256color]

点击 后,它会将我带入主目录,就好像我还没有一样cd。第二种方式给出了类似的结果。

我怎样才能克服这个?非常感谢您!

标签: bashshellsshserverterminal

解决方案


推荐阅读