在linux上面编程,输出的时候黑底白字是不是有点单调呢?不管你觉不觉得,反正我是觉得单调。
这样的多彩的输出,是不是更加的赏心悦目呢?
代码完全可以实现这样的输出哦。
c++代码:
#include <stdio.h> #include <iostream> #include <string> int main(int argc,char *argv[]) { std::string a = "This is a test!"; // 01:加粗 34:前景色蓝色 // 4下划线 5闪烁 30灰色 31红色 32绿色 33黄色 34蓝色 35紫色 36青色 std::cout << "\033[01;05;34m" << a << "\033[0m" << std::endl; // 01:加粗 34:前景色蓝色 std::cout << "\033[01;34m" << a << "\033[0m" << std::endl; // 01:加粗 04:下划线 32前景色绿色 41:背景色红色 // 41: 红 42: 绿 43: 黄 44: 蓝 45: 紫 46: 深绿 47: 白色 std::cout << "\033[01;04;32;41m" << a << "\033[0m" << "\n" << std::endl; for (int i = 0; i <= 50 ; ++i) { std::cerr << "\033[01;"<<i<<"m" << i << "\033[0m "; if (i%10 == 9) { std::cout << std::endl; } } std::cout << std::endl; // 31红色 std::cout << "\033[01;31m" << a << "\033[0m" << std::endl; // 32绿色 std::cout << "\033[01;32m" << a << "\033[0m" << std::endl; // 33黄色 std::cout << "\033[01;33m" << a << "\033[0m" << std::endl; // 34蓝色 std::cout << "\033[01;34m" << a << "\033[0m" << std::endl; }
shell代码:
#!/bin/sh a="This is a test!" # 01:加粗 34:前景色蓝色 # 4下划线 5闪烁 30灰色 31红色 32绿色 33黄色 34蓝色 35紫色 36青色 echo -e "\033[01;05;34m"$a"\033[0m" # 01:加粗 34:前景色蓝色 echo -e "\033[01;34m"$a"\033[0m" # 01:加粗 04:下划线 32前景色绿色 41:背景色红色 # 41: 红 42: 绿 43: 黄 44: 蓝 45: 紫 46: 深绿 47: 白色 echo -e "\033[01;04;32;41m"$a"\033[0m" for ((i = 0; i <= 50 ; ++i)) do echo -en "\033[01;${i}m${i}\033[0m\t" if ((i%10 == 9)); then echo "" fi done # 31红色 echo -e "\033[01;31m${a}\033[0m" # 32绿色 echo -e "\033[01;32m${a}\033[0m" # 33黄色 echo -e "\033[01;33m${a}\033[0m" # 34蓝色 echo -e "\033[01;34m${a}\033[0m"
需要注意的是,shell在echo的时候,需要使用-e参数,这样才可以使转移字符生效。
台湾嗲嗲妹
2015-10-08看的激动。。。 谢谢博主了
成长的企鹅
2015-11-23@台湾嗲嗲妹 谢谢支持,欢迎常来