【发布时间】:2018-04-07 06:25:17
【问题描述】:
遇到 bash 问题。本质上,有两个 Redhat 节点,WS01 和 DEV01。我想在 DEV01 上运行的 WS01 上的脚本通过read -p 询问某些信息提示。 Expect 没有安装,也不能安装(很遗憾)。
当我进入时...
ssh root@DEV01 /path/to/script.sh
它返回(BoKS 消息)
no terminal authorization granted
如果我这样做......
ssh -tt root@DEV01 /patch/to/script.sh
返回
TERM: not defined
Illegal variable name
脚本在通过常规 ssh 会话运行时运行良好。使用echo $TERM 检查术语,在两个系统上都设置为vt100。两个系统上的默认 shell 都是 csh,所以我认为它是默认的。试图将调用 bash 的变体放在 ssh 命令中,但一切都显示了相同的结果。
不幸的是,该 ssh 命令的其他变体(感觉我已经尝试过大多数)也给出了相同的结果。
也试过了
ssh -tt root@DEV01 "$(< script.sh)"
基本上我可以在互联网上找到的任何其他内容,但仍然一无所获。在这一点上我的头撞在墙上。
最终,我只需要一种方法来运行本地机器上的 bash 脚本到远程主机上,并允许交互式 shell 允许用户在提示输入数据时输入数据。提前感谢您的帮助。
【问题讨论】:
-
获取本地输入然后调用脚本但传入用户数据的包装脚本怎么样? (希望这是有道理的)。我几乎可以肯定我曾经做过类似的事情。祝你好运。
-
听起来你的
script.sh正在做一些奇怪的事情。你能粘贴脚本吗?
标签: linux bash shell ssh redhat