echo(选项)(参数)选项

-e:激活转义字符。使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
-n:不换行输出,常与-e参数结合使用:echo -en "**" •\a 发出警告声;
•\b 删除前一个字符;
•\c 最后不加上换行符号;
•\f 换行但光标仍旧停留在原来的位置;
•\n 换行且光标移至行首;
•\r 光标移至行首,但不换行;
•\t 插入tab;
•\v 与\f相同;
•\\ 插入\字符;
•\nnn 插入nnn(八进制)所代表的ASCII字符;
  • 常用实例:
echo -e "this is \n test"

echo -n 不换行输出
$echo -n "123"
$echo "456"
最终输出
123456

终端中生成彩色文本

针对以下彩色文本使用缺陷做一点补充,以下内容在颜色设置功能上没有问题,但在命令行输入超长的字符串时会造成命令行错乱,不能换行

解决方法是将命令添加完整如下:

export PS1='\[\e[1;33m\][\u@\h \W]\$ \[\e[0m\]'
也就是将'\e[1;33m\][\u@\h \W]\$ \e[0m\]' 改成 '\[\e[1;33m\][\u@\h \W]\$ \[\e[0m\]' 既可

以下内容使用时注意添加\[

文本颜色是由对应的色彩码来描述的。其中包括:

重置=0,黑色=30,红色=31,绿色=32,
黄色=33,蓝色=34,洋红=35,青色=36,白色=37。

要打印彩色文本,可输入如下命令:

echo -e "\e[1;31m This is red text \e[0m"

Note:其中 \e[1;31m 是一个转义字符串,可以将颜色设为红色, \e[0m 将颜色重新置回。只需要将 31 替换成想要的色彩码就可以了。

对于彩色背景,经常使用的颜色码是:

重置=0,黑色=40,红色=41,绿色=42,黄色=43,
蓝色=44,洋红=45,青色=46,白色=47。

*要设置彩色背景的话,可输入如下命令:

echo -e "\e[1;42m Green Background \e[0m"

Note:这些例子中包含了一些转义序列。可以使用 man console_codes 来查看相关文档。

示例

[zhangfd@localhost shell]$ cat printf1.sh
#!/bin/bash
## filename:printf.sh echo -e "\e[1;32m `printf "%-5s %-10s %-6s\n" No Name Mark` \e[0m"
echo -e "\e[1;46m `printf "%-5s %-10s %-s\n" - --- ----
printf "%-5s %-10s %-6.4f\n" 1 Sarath 80.3456
printf "%-5s %-10s %-6.4f\n" 2 James 90.9989
printf "%-5s %-10s %-6.4f\n" 3 Jeff 77.564
printf "%-5s %-10s %-6.4f\n" 4 zhangfd 299999990.33`
\e[0m"

输出

echo 修改终端提示字符串

echo "expport PS1='\e[1;35m][\u@\h \W]$ \e[0m]'" >>/etc/profile

source /etc/profile

PS1='\e[1;35m\][\u@\h \W]\$ \e[0m\]'

输出效果

Linux-echo:打印彩色输出的更多相关文章

  1. linux打印彩色输出

    在终端生成彩色输出,我们可以使用转义序列来实现. 每种颜色都有对应的颜色码.比如:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37 要打印彩色文 ...

  2. Linux:打印(输出)所有的列(awk, $0)

    如果想输出所有的列的话,只需要$0这个函数,例如以下命令: awk '/rs16945916/ {print $0}' test.txt > allcol.txt rs16945916指的是打印 ...

  3. shell打印彩色输出

    字体颜色(8种,3开头) 重置=0,黑色=30,红色=31,绿色=32, 黄色=33,蓝色=34, 洋红=35, 青色=36, 白色=37. 背景颜色(8种,4开头) 重置=0,黑色=40,红色=41 ...

  4. linux c 打印彩色字符

    #include <stdio.h> #include <string.h> int main(int argc, char **argv) { , j = , str_len ...

  5. Linux基础命令---echo打印内容到标准输出

    echo echo指令可以输出内容到标准输出,以空白分割字符串,并且后面增加换行. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora.   1.语法       ec ...

  6. Linux终端打印命令使用介绍

    常用linux打印命令 日常使用中或shell脚本中linux终端打印命令有echo和printf.  echo命令 功能说明:显示文字.语 法:echo [-ne][字符串]或 echo [--he ...

  7. linux内核打印数据到串口控制台,printk数据不打印问题

    linux内核打印数据到串口控制台问题 原文来源:http://i.cnblogs.com/EditPosts.aspx?opt=1 1.查看当前控制台的打印级别 cat /proc/sys/kern ...

  8. Linux echo, sort, sed 等一些命令总结

    linux echo, sort, sed是初学linux shell script 的一些常用的命令.基本上来说,如果能够掌握了这些命令,我们就能写出一些不错的linux脚本.以下是我遇到的以下常用 ...

  9. linux 终端控制-- 多彩输出 格式排版

    linux 终端控制-- 多彩输出 格式排版 在unix/linux的终端下,怎么控制终端输出的颜色和格式呢,当然了有专门的工具,tput,但是能被terminal直接读懂的格式化字符串更通用. 先来 ...

随机推荐

  1. 图的最小生成树(java实现)

    1.图的最小生成树(贪心算法) 我两个算法的输出都是数组表示的,当前的索引值和当前索引对应的数据就是通路,比如parent[2] = 5;即2和5之间有一个通路,第二个可能比较好理解,第一个有点混乱 ...

  2. [Luogu] 相关分析

    不想调了 #include <bits/stdc++.h> ; #define LL long long #define gc getchar() int fjs; struct Node ...

  3. POJ - 3376 Finding Palindromes manacher+字典树

    题意 给n个字符串,两两拼接,问拼接后的\(n\times n\)个字符串中有多少个回文串. 分析 将所有正串插入字典树中,马拉车跑出所有串哪些前缀和后缀为回文串,记录位置,用反串去字典树中查询,两字 ...

  4. HDU 1024 Max Sum Plus Plus ——(M段区间的最大和)

    感觉有点奇怪的是这题明明是n^2的复杂度,n=1e6竟然能过= =.应该是数据水了. dp[i][j]表示前j个数,分成i段,且最后一段的最后一个为a[j]的答案.那么转移式是:dp[i][j] = ...

  5. CF860E Arkady and a Nobody-men

    CF860E Arkady and a Nobody-men 类比LNOI2014 LCA那个题,其实树剖可以过....(用树状数组区间加区间求和更快!) 巧妙的nlogn做法是: blog~ (其实 ...

  6. OUC_Summer Training_ DIV2_#14 724

    又落下好多题解啊...先把今天的写上好了. A - Snow Footprints Time Limit:1000MS     Memory Limit:262144KB     64bit IO F ...

  7. Nginx之configure选项

    1. 通用配置项 --prefix=<path>:Nginx 安装的根路径,所有其他的路径都要依赖于该选项. --sbin-path=<path>:指定 Nginx 二进制文件 ...

  8. Flutter移动电商实战 --(5)dio基础_引入和简单的Get请求

    这篇开始我们学习Dart第三方Http请求库dio,这是国人开源的一个项目,也是国内用的最广泛的Dart Http请求库. 1.dio介绍和引入 dio是一个强大的Dart Http请求库,支持Res ...

  9. aop备忘

    https://www.iflym.com/index.php/code/use-java-develop-compile-annotated-aspectj-programe.htmlspringb ...

  10. 解决 无法启动此程序,因为计算机中丢失opencv_world341.dll。请尝试重新安装改程序已解决此问题

    在运行OpenCV程序时报错:“无法启动此程序,因为计算机中丢失opencv_world341.dll.请尝试重新安装改程序已解决此问题”. 解决方法 我的bin目录是 D:\opencv\build ...