linux命令总结:echo

本文详细介绍了Linux中echo命令的使用,包括-n、-e选项来控制输出,如不换行、启用转义字符功能。重点讲解了转义字符如、 、 、 等的功能,并展示了如何用echo改变字符颜色。此外,还提到了echo在设置密码和配合管道使用中的注意事项。
摘要由CSDN通过智能技术生成

说明:

echo - display a line of text

echo    显示一行文字

用法:

echo [SHORT-OPTION]... [STRING]...

echo LONG-OPTION

echo 短选项\长选项    字符串

选项:

-n    不输出行尾的换行符

-e    启用转义字符功能

-E    禁用反斜杠大解释转义(默认)

--help 显示帮助并退出

--version 显示版本系统并退出

-e 激活转义字符:注意echo输出内容必须要用""引用

        \        \输出反斜杠本身

        \a        发出告警声

        \b        删除前一个字符,但前提是\b后面存在字符

        \c        不换行输出,在\c后面不存在字符的情况下,和echo -n一样,如存在字符则不输出

        \f        换行但换行后的新行开头位置连接上一行的行尾

        \n        换行且光标移至行首

        \r        光标移至行首,但不换行,会将\r后面的内容覆盖前面的内容

        \t        插入tab,制表符

        \v        与\f相同

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

示例:

1.使用\b转义字符,后面需要跟字符否则不处理,一个\b表示删除一个字符

1

2

3

4

5

6

7

8

[root@zxq ssh]#echo -e "123\b"

123

[root@zxq ssh]#echo -e "123\b456"

12456

[root@zxq ssh]#echo -e "123\b\b456"

1456

[root@zxq ssh]#echo -e "123\b\b\b456"

456

2.\c不换行输出,如果\c后面不跟字符则跟echo -n一样,如存在字符则不输出后面大字符

1

2

3

4

[root@zxq ssh]# echo -e "123\c"

123[root@zxq ssh]# echo -n "123"

123[root@zxq ssh]# echo -e "123\cabc"

123[root@zxq ssh]#

3.\n表示换行,被输出的字符在\n后则另起一行输出

1

2

3

[root@zxq ssh]# echo -e "123\nabc"

123

abc

4.\f换行,但换行后的新行位置连接上一行的行尾

1

2

3

4

5

6

7

[root@zxq ssh]# echo -e "123\fabc"

123

   abc

[root@zxq ssh]# echo -e "123\fabc\f456"

123

   abc

      456

4.\r表示\r后面的字符覆盖同等长度的\r前面的字符

1

2

3

4

5

6

7

8

[root@zxq ssh]# echo -e "123\rabc"

abc

[root@zxq ssh]# echo -e "123456\rabc"

abc456

[root@zxq ssh]# echo -e "123\rabcdef"

abcdef

[root@zxq ssh]# echo -e "123\r"

123

5.\经过转义后表示\

1

2

[root@zxq ssh]# echo -e "123\\456"

123\456

6.使用echo的-e功能实现倒计时

1

2

for in `seq -w 10 -1 1`;do echo -ne "$i\r";sleep 1; done

tput sc;for((i=10;i>0;i--));do tput rc;tput ed;echo -n "$i";sleep 1;done

上面是两种方法,第二种方法值得研究,其中,tput sc 是存储光标位置,tput rc 是恢复光标位置 tput ed 是清除光标位置,到行尾的内容。

7.echo配合管道设置密码

此处注意输出特殊字符密码时需要用单引号引用世特殊字符原样输出,例如这里的“!123”如不使用单引号而使用双引号,则密码是设置成功的,但是密码却是调用事件存储的密码,会发生密码不正确现象,特别注意!

echo '!123'|passwd --stdin zhang

8.使用echo -e改变字符颜色显示

字符颜色代码:

字体    背景    颜色

30       40     黑色

31       41     红色

32       42     绿色

33       43     黄色

34       44     蓝色

35       45     紫红色

36       46     青蓝色

37       47     白色

echo -e "\033[43;30m 黑字黄底 \033[0m"

echo -e "\033[43;31m 红字黄底 \033[0m"

echo -e "\033[43;32m 绿字黄底 \033[0m"

echo -e "\033[41;33m 黄字红底 \033[0m"

echo -e "\033[45;34m 蓝字紫底 \033[0m"

echo -e "\033[46;35m 紫字青底 \033[0m"

echo -e "\033[44;36m 青字蓝底 \033[0m"

echo -e "\033[46;37m 白字青底 \033[0m"

其它代码:

0m 关闭所有属性,此处的m可以省略

1m    设置高亮

4m    下划线

5m    闪烁

7m    反显

8m    消隐,字符颜色与背景相同

30m-37m 设置字体颜色

40m-47m 设置背景颜色

k    清除从光标到行尾的内容

[root@zxq ssh]# echo -e "\033[37m 黑字白底 \033[0m"

 黑字白底 

[root@zxq ssh]# echo -e "\033[1;37m 黑字白底 \033[0m"

 黑字白底 

[root@zxq ssh]# echo -e "\033[4;37m 黑字白底 \033[0m"

 黑字白底 

[root@zxq ssh]# echo -e "\033[5;37m 黑字白底 \033[0m"

 黑字白底 

[root@zxq ssh]# echo -e "\033[7;37m 黑字白底 \033[0m"

 黑字白底 

[root@zxq ssh]# echo -e "\033[8;37m 黑字白底 \033[0m"

不可见

本文转自 80后小菜鸟 51CTO博客,原文链接:http://blog.51cto.com/zhangxinqi/1921324

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值