(转)shell命令:echo命令详解

shell命令:echo命令详解

原文:https://www.cnblogs.com/xyz0601/archive/2015/04/23/4450736.html

功能说明:显示文字。

语   法:echo [-ne][字符串] / echo [--help][--version]

补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。

参   数

-n 不要在最后自动换行

-e 打开反斜杠ESC转义。

若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

\a 发出警告声;

\b 删除前一个字符;

\c 最后不加上换行符号;

\f 换行但光标仍旧停留在原来的位置;

\n 换行且光标移至行首;

\r 光标移至行首,但不换行;

\t 插入tab;

\v 与\f相同;

\\ 插入\字符;

\nnn 插入nnn(八进制)所代表的ASCII字符;

-E 取消反斜杠ESC转义 (默认)

-help 显示帮助

-version 显示版本信息

############################################################ #

echo输出颜色文本 echo命令改变样式,以输出不同颜色的文本,必须有 -e 选项(开启echo中的转义)。

文本终端的显示颜色可以使用“ANSI非常规字符序列”来生成。

例如:echo -e "\033[44;37;5m ME\033[0m COOL"

解释:"\033[44;37;5m ME "设置背景为蓝色,前景为白色,闪烁光标,输出字符“ME”;

"\033[0m COOL"重新设置屏幕到缺省设置,输出字符 “COOL”。

"e"是命令echo的一个可选项,它用于激活特殊字符的解析器。

"\033"引导非常规字符序列(即"\033["表示终端转义字符开始,

"\033"即退出键<ESC>的ASCII码)。

"m"意味着设置属性然后结束非常规字符序列,这个例子里真正有效的字符是"44;37;5"和"0"。

修改"44;37;5"可以生成不同颜色的组合,数值和编码的前后顺序没有关系。     
    可以选择的编码如下所示(这些颜色是ANSI标准颜色):           编码          颜色/动作

0            重新设置属性到缺省设置

1            设置粗体

2            设置一半亮度(模拟彩色显示器的颜色)

4            设置下划线(模拟彩色显示器的颜色)

5            设置闪烁

7            设置反向图象

22           设置一般密度

24           关闭下划线

25           关闭闪烁

27           关闭反向图象

30           设置黑色前景

31           设置红色前景

32           设置绿色前景

33           设置黄色前景

34           设置蓝色前景

35           设置紫色前景

36           设置青色前景

37           设置白色(灰色)前景

38           在缺省的前景颜色上设置下划线

39           在缺省的前景颜色上关闭下划线

40           设置黑色背景

41           设置红色背景

42           设置绿色背景

43           设置黄色背景

44           设置蓝色背景

45           设置紫色背景

46           设置青色背景

47           设置白色(灰色)背景

49           设置缺省黑色背景

其他有趣的代码还有:

\033[2J      清除屏幕

\033[0q      关闭所有的键盘指示灯

\033[1q      设置"滚动锁定"指示灯(Scroll Lock)

\033[2q      设置"数值锁定"指示灯(Num Lock)

\033[3q      设置"大写锁定"指示灯(Caps Lock)

\033[15:40H   把关闭移动到第15行,40列

\007        发蜂鸣生beep

一些说明:     前景颜色各数字是对应背景颜色减去10。     结束非常规字符序列的"m"要紧跟前面的数字,不能有空格。

命令也可以写成echo -e "^[[44;37;5m ME \033[0m COOL",其中的"^["是先按Ctrl-V,然后再按<ESC>键产生的。

输出带有颜色的文本,echo命令必须带有选项"-e"。

这种方法只能暂时改变echo命令输出的文本的样式,logout后就恢复为默认。修改.bashrc文件,可以修改默认的显示样式。 如:在.bashrc文件的最后面追加一行:echo -e ‘\033[47;30m‘。

#----------------------------------------------------------- #

建议:在shell文件的最前面,将echo命令的输出样式定义成变量。

# define echo terminal style

# color: 0~6 --> black, red, green, yellow, blue, purple, cyan, grey

export ECHO_STYLE_00="\033[0m"

# default style(black background, white foreground)

export ECHO_STYLE_01="\033[41;33;1m"

# red background, yellow foregound bold

echo -e "${ECHO_STYLE_01}echo command terminal style example${ECHO_STYLE_00}"

############################################################ #

echo命令的其他用法

1).光标跳到第60列,然后显示一个OK。

格式:echo -en ‘\033[60G‘ && echo OK

说明:"\033["是终端转义字符开始,60G是命令。

############################################################

然后给几个比较强大的脚本函数 1) cfont #by zuoyang http://hi.baidu.com/test/

cfont()

{ while (($#!=0))

do         case $1 in

     -b)                         echo -ne " ";                 ;;

     -t)                         echo -ne "\t";                 ;;

     -n)     echo -ne "\n";                 ;;

-black)                         echo -ne "\033[30m";                 ;;

-red)                         echo -ne "\033[31m";                 ;;

-green)                         echo -ne "\033[32m";                 ;;

-yellow)                         echo -ne "\033[33m";                 ;;

-blue)                         echo -ne "\033[34m";                 ;;

-purple)                         echo -ne "\033[35m";                 ;;

-cyan)                         echo -ne "\033[36m";                 ;;

-white|-gray) echo -ne "\033[37m";                 ;;

-reset)                         echo -ne "\033[0m";                 ;;

-h|-help|--help)                         echo "Usage: cfont -color1 message1 -color2 message2 ...";

echo "eg:       cfont -red [ -blue message1 message2 -red ]";                 ;;

*)                 echo -ne "$1"                 ;;

esac

shift

done }

使用方法是 cfont -颜色 字符串...

如: cfont -cyan abc

注意使用时要换行需要加入 -n 选项。想要恢复默认的要加入 -reset选项。
2) 颜色码表

#!/bin/bash T=‘gYw‘

# The test text
echo

echo "        default 40m     41m     42m     43m     44m     45m     46m 47m"

## FGs 为前景(foreground)色, BG 为背景(background)色

for FGs in ‘    m‘ ‘   1m‘ ‘ 30m‘ ‘1;30m‘ ‘ 31m‘ ‘1;31m‘ ‘ 32m‘ ‘1;32m‘ ‘ 33m‘ ‘1;33m‘ ‘ 34m‘ ‘1;34m‘ ‘ 35m‘ ‘1;35m‘ ‘ 36m‘ ‘1;36m‘ ‘ 37m‘ ‘1;37m‘

do         FG=$(echo $FGs|tr -d ‘ ‘)

echo -en " $FGs \033[$FG $T "

for BG in 40m 41m 42m 43m 44m 45m 46m 47m;

do                 echo -en " \033[$FG\033[$BG $T \033[0m"

done

echo

done

echo

时间: 2024-10-07 10:57:33

(转)shell命令:echo命令详解的相关文章

Linux Crontab [定时任务] 命令与参数详解

crontab命令常用于Unix和Linux系统中,用于设置周期性被执行的指令. 该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供读取和执行. 通常,crontab储存的指令被守护进程激活,crond服务常常在后台运行. 通过设定的时间来检查是否有作业需要执行,这类作业一般称为:cron jobs. crontab 文件 crontab文件包含送交cron守护进程的一系列作业和指令. 每个用户可以拥有自己的crontab文件,同时操作系统保存一个针对整个系统的crontab文

linux cat命令使用方法详解--把档案串连接后传到基本输出

linux cat命令使用方法详解--把档案串连接后传到基本输出 日期:2011-12-05 点击:2324 来源: 未知 分享至: 使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)参数:-n 或 --number 由 1 开始对所有输出的行数编号-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号-s 或 --squeeze-b

[转帖]XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件

XCopy复制文件夹命令及参数详解以及xcopy拷贝目录并排除特定文件 https://www.cnblogs.com/smartsmile/p/7665979.html xcopy dirA dirB /s /e /y XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,但不能拷贝系统文件:使用时源盘符.源目标路径名.源文件名至少指定一个:选用/S时对源目录下及其子目录下的所有文件进行COPY.除非指定/E参数,否则/S不会拷贝空目录,若不指定/S参数,则XCOPY只拷贝源目

monkey命令行参数详解

monkey命令行参数详解:http://blog.sina.com.cn/s/blog_6fc352ca01017fsf.html Monkey的使用:http://blog.csdn.net/bruce_ke/article/details/8470252

【转】Linux命令工具 top详解

Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最"敏感"的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序:而且该命令的很多特性都可以通过交互式命令或者在个人定制

Linux rpm 命令参数使用详解[介绍和应用]

RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序" rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组合: -ivh:安装显示安装进度--install--verbose--hash -Uvh:升级软件包--Update: -qpl:列出RPM软件包内的文件信息[Q

Linux中history历史命令使用方法详解

在/etc/profile里添加如下: #History export HISTTIMEFORMAT="[%F %T]" HISTDIR=/home/common/.hist if [ ! -d $HISTDIR ]; then         mkdir -p $HISTDIR         chmod 777 $HISTDIR fi export HISTSIZE=100000 export HISTFILE="$HISTDIR/${LOGNAME}.hist"

Linux命令工具 top详解

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最"敏感"的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序:而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定. 常在linux

linux TOP命令各参数详解【转载】

实时监控或查看系统资源使用情况的工具——TOP top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. 下面详细介绍它的使用方法: (实时监控系统资源使用情况图) 统计信息区前五行是系统整体的统计信息: 第一行是任务队列信息,同 uptime  命令的执行结果.其内容如下: 01:06:48 当前时间 up 1:22 系统运行时间,格式为时:分 1 user 当前登录用户数 load average: 0.06, 0.60, 0.

Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解

博文说明[前言]: 本文将通过个人口吻介绍Linux字符集和系统语言设置,包括LANG,locale,LC_ALL,POSIX等命令及参数详解的相关知识,在目前时间点[2017年6月21号]下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指出问题共同交流,在后续工作及学习中如发现本文内容与实际情况有所偏差,将会完善该博文内容. 本文参考文献引用链接: 1.http://blog.csdn.net/z4213489/article/details/7937894[好文,必看]