欺骗应用程序,使其认为它的stdout是终端,而不是管道。我试着做相反的事检测stdin是终端还是管道?我正在运行一个改变其输出格式的应用程序,因为它检测到stdout上的管道,我希望它是一个交互式终端,以便在重定向时得到相同的输出。我在想用一个expect脚本或使用proc_open()在PHP中可以做到这一点,但它不能做到这一点。外面有什么想法吗?
3 回答
慕码人2483693
TA贡献1860条经验 获得超9个赞
faketty() { script -qfc "$(printf "%q " "$@")" /dev/null}
printf
$@
用法:
faketty <command> <args>
例子:
$ python -c "import sys; print sys.stdout.isatty()"True$ python -c "import sys; print sys.stdout.isatty()" | catFalse$ faketty python -c "import sys; print sys.stdout.isatty()" | catTrue
- 3 回答
- 0 关注
- 469 浏览
添加回答
举报
0/150
提交
取消