首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Python Fabric中使用具有散列的shell作为主要提示

在Python Fabric中使用具有散列的shell作为主要提示
EN

Stack Overflow用户
提问于 2018-09-07 02:30:04
回答 1查看 49关注 0票数 1

我需要将我使用的外壳程序的PS1变量设置为#,而不是$。我尝试使用env.prompts,但这有点重量级,必须编写每个可能的步骤来以同样的方式响应散列符号。一旦远程会话建立,shell_env就适用于将环境变量添加到远程会话中,因此我在这方面遇到了死胡同。

有人知道在使用fabric时如何将默认提示符从$更改为#吗?

EN

回答 1

Stack Overflow用户

发布于 2018-09-08 09:10:59

答案是这在Fabric中不受支持。我已经使用pexpect的pxssh解决了我的问题。在登录方法中,当auto_prompt_reset设置为False时,可以指定一个在连接持续时间内持续存在的替代original_prompt。因此,如下所示:

代码语言:javascript
运行
AI代码解释
复制
from pexpect.pxssh import pxssh

# Set the ssh options for the connection.
conn = pxssh(options={'IdentityFile' : '/path/to/id_pem', 'StrictHostKeyChecking' : 'no', 'UserKnownHostsFile' : '/dev/null'})
conn.login(username='user', server='192.168.30.1', original_prompt='# ', auto_prompt_reset=False)

这对我来说很管用。最初的提示符对于某些人的用法可能并不全面,但它适用于我在这个具有有限shell的SOC上的情况。对于任何数量的其他非标准交互式外壳,如路由器、网络连接的PDU等,也可以这样做。

唯一的缺点是它不是织物。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52214465

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文