Home
Sign Up
Sign In
Distributions
›
Ubuntu
›
Fedora
›
CentOS
中文资源站
›
网易开源镜像站
V2EX
›
Linux
如何在 Bash 中将把输出直接写入/dev/tty 的应用的输出导出/重定向到其他地方
varius
·
Dec 10, 2022
· 3946 views
This topic created in 1430 days ago, the information mentioned may be changed or developed.
RT 。
最近发现有些程序的输出不是输出只 stdout ,而是直接输出到 /dev/tty 中。所以无论是 TEE 还是重定向都无法将其输出内容导出到其他地方。
向各位大佬请教一下,这种情况中如何处理才能将此应用的输出转移到别的地方。
输出
tty
dev
导出
14 replies
•
2022-12-14 01:22:23 +08:00
zhuo1ang
Dec 10, 2022
2
1
我的朋友开发的 CLI 小工具,基本思想是拦截系统调用,获得正要打印的内容,目前支持 x86 架构。
https://github.com/rapiz1/catp
7RTDKSAK
Dec 10, 2022
2
2
有一个命令就叫`script`,你看看--help,应该能满足你要求
varius
OP
Dec 10, 2022
3
@
zhuo1ang
谢谢老哥,我看一下
varius
OP
Dec 10, 2022
4
@
7RTDKSAK
谢谢老哥回复! script 命令挺好的,不过可能不能实现实时处理功能
7RTDKSAK
Dec 10, 2022
5
@
varius
哪种实时?你想要无缓冲吗?如果是就再套一层 stdbuf 试试
7RTDKSAK
Dec 11, 2022
6
对了,都忘记了,socat 也可以,我才想到 VPS 上有一个脚本,是生成随机密码然后喂给 passwd 来自动改 root 密码
varius
OP
Dec 11, 2022
7
@
7RTDKSAK
谢谢老哥的分享。socat 的话是个挺好的工具,但是在这种情况下好像不大好处理,因为管道都出不了数据了
varius
OP
Dec 11, 2022
8
@
7RTDKSAK
另外,非常感谢老哥! script 的方案非常好用!
julyclyde
Dec 12, 2022
1
9
strace 进去,open 一个别的东西,然后 dup2 给原来那个 fd
varius
OP
Dec 13, 2022
10
@
julyclyde
谢谢老哥提供一个新的思路
julyclyde
Dec 13, 2022
11
@
varius
嗯其实我想说的是 gdb 进去……strace 不能
aloxaf
Dec 13, 2022
12
https://stackoverflow.com/questions/32910661/pretend-to-be-a-tty-in-bash-for-any-command
varius
OP
Dec 14, 2022
13
@
julyclyde
花哨呀老哥
varius
OP
Dec 14, 2022
14
@
aloxaf
谢谢老哥的线索!
About
·
Help
·
Advertise
·
Blog
·
API
·
FAQ
·
Privacy
·
Solana
·
4755 Online
Highest 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 116ms ·
UTC 02:02
·
PVG 10:02
·
LAX 18:02
·
JFK 21:02
♥ Do have faith in what you're doing.
❯