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:设置光标位置
例子: