一个很绕的通过程序来控制各种 shell 的办法

2022-07-28 15:38:09 +08:00
 yixin026

公司有个设备,只提供了一个用 python 改的 shell.没有任何其他的接口,现在有些也要需要通过命令行即时的交互计算,然后找了好久没找到通过程序来控制这些的方法..最后想到了用 tmux 先绕过去

1.开一个 tmux 的 session,在里面打开 shell tmux new-session -s development 2.通过 tmux send-keys 发命令,比如 tmux send-keys -t development 'python' C-m 3.通过 tmux capture-pane 获取 session 里的屏幕输出 tmux capture-pane -t development -p -S -100 -E- 这样输入输出就都有了,勉强可以凑合着用了

1212 次点击
所在节点    分享发现
2 条回复
haoliang
2022-07-28 17:22:40 +08:00
看着挺绕的,这样如何?

tmux pane 1: python &>/tmp/xx (依情况看是否需要 mkfifo /tmp/xx 、是否需要分开 stderr 、stdout )
tmux pane 2: tail -f /tmp/xx
这么看来不用 tmux , 开两个终端也行
yixin026
2022-07-29 09:32:25 +08:00
@haoliang 没有 tmux 的话感觉命令的输入会有问题..试过好多方法这种 shell 貌似基本没什么简单的办法输入命令...读日志的话这样确实可以,但是用 tmux 的话可以自动清除历史..

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/869261

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX