当我从打印彩色输出(例如ls或gcc)的终端执行命令时,将打印彩色输出。根据我的理解,该过程实际上是在输出ANSI 转义码,并且终端格式化颜色。
但是,如果我由另一个进程(比如自定义 C 应用程序)执行相同的命令并将输出重定向到应用程序自己的输出,这些颜色不会持续存在。
程序如何决定是否输出彩色格式的文本?是否有一些环境变量?
如果我通过串行适配器连接到 linux 设备(无论是 pyserial、screen 还是 minicom),无论我如何更改设置,例如stty当我输入长命令时,它都会被换行(特别是输入一个空格和一个回车) . 我在这方面的知识太少了,我什至不能称自己为初学者,但是读取行的工具或 shell 解释器是否可能正在包装行?
同样,将stty的大小60 100更改为根本不会改变换行发生的点。
外壳信息:
root@4020-1-00007:~# echo $SHELL
/bin/sh
root@4020-1-00007:~# ls -al /bin/sh
lrwxrwxrwx 1 root root 9 Jul 31 18:09 /bin/sh -> /bin/bash
root@4020-1-00007:~# bash --version
GNU bash, version 4.3.0(1)-release (arm-angstrom-linux-gnueabi)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the …Run Code Online (Sandbox Code Playgroud)