美文网首页
iTerm2 python api 清空会话当前行后执行命令

iTerm2 python api 清空会话当前行后执行命令

作者: koyeo | 来源:发表于2020-12-21 04:26 被阅读0次

    1. 问题:

    在选择已有会话执行命令时,如果当前会话有用户手动输入,会造成命令执行失败,此时需要删除用户以后输入后执行命令。

    2. 解决方法

    在执行命令前添加退格转义序列符 \b

    注:\b 的 ascii 码 10 进制为 8。

    3. 代码示例

    # 计算退格数
    screen_content = await session.async_get_screen_contents()
    current_line = screen_content.line(screen_content.number_of_lines - 1)
    
    # 此处退格数多了没关系
    backspaces = '\b' * len(current_line.string)
    
     # 在会话中执行命令,命令会随着会话结束(tab 关闭, window关闭)而终止
    await session.async_run_coprocess(command_line="echo '{}{}'".format(backspaces, command))
    

    4. 参考链接

    转义序列符

    相关文章

      网友评论

          本文标题:iTerm2 python api 清空会话当前行后执行命令

          本文链接:https://www.haomeiwen.com/subject/qeilnktx.html