echo

echo

$echo [-e] [内容字符串] 显示后面的内容,缺省选项表示将后面的内容原模原样的显示出来,如果后面接的字符串不用"",会默认以空格为分隔符输出多个串
可以配合Shell的管道与重定向使用实现对写文件操作,此时一定要小心">"和">>"的区别,前者是清空并写入,后者才是接着写入,如果写错了可能会清空重要文件
-e 将内容中的转义字符按照其含义显示,在命令行里面可以正常显示,但是在debian系的系统中,如果在shell脚本中使用echo -e,需要指定#!/bin/bash,如果指定的是#!/bin/sh,会在相应的转义字符前显示出一个"-e "
-n表示去除默认添加在最后的换行

$echo -n 'test'
test $

$echo支持的转义字符如下

  • \a 发出警告
  • \b 删除前一个字符
  • \c 最后不加上换行符号
  • \f 换行但光标仍旧停留在原来的位置
  • \n 换行且光标移至行首
  • \r 光标移至行首,但不换行
  • \t 插入tab; \v 与\f相同
  • \\ 插入\字符
  • \nnn 插入nnn(八进制)所代表的ASCII字符

栗子:

$ echo "this is test"
this is test
$ echo "this will clear and add" > echoLearn|cat echoLearn 
this will clear and add
$ echo "this will  append" >> echoLearn|cat echoLearn 
this will clear and add
this will  append

ascii控制码

echo可以配合ascii控制码使用,灵活的控制输出的效果。使用的格式:$echo -e "\033[背景色;字体颜色m 内容 [属性"

其中背景色选项:
40:黑,41:深红,42:绿,43:黄,44:蓝,45:紫,46:深绿,47:白色
字颜色选项:
30:黑,31:红,32:绿,33:黄,34:蓝,35:紫,36:深绿,37:白色
属性选项:

  • \033[0m :关闭所有属性
  • \033[1m :设置高亮度
  • \033[4m :设置下划线
  • \033[y;xH:设置光标位置
    例子:
posted @ 2016-09-12 09:31  Abnor  阅读(535)  评论(0编辑  收藏  举报