Linux命令-----echo

# echo命令

echo会将输入的字符串送往标准输出,并在最后加上换行符。 可以理解为打印字符串。

[root@localhost ~]# echo [选项] [输出内容]

常见选项:
    -n :不输出最后的换行符“\n”(就是内容输出后不换行)
    -e:解释转义字符(字符串中出现\n、\t等特殊字符,则特别加以处理,而不会将它当成一般文字输出)

举例说明:

[root@localhost ~]# echo hello world 打印hello world
hello world
[root@localhost ~]# echo aaaa 打印aaaa
aaaa
[root@localhost ~]# echo hello > file1 将hello重定向到file1文件中
[root@localhost ~]# cat file1
hello


总结:
1. echo表示打印字符串,默认将字符串送往标准输出;默认会打印一个换行符
2. echo可以结合>或者>>符号来使用,进行文件的创建或内容追加。


常见控制字符:
\t 表示制表符
\n 表示换行符
\r 表示回车

[root@localhost ~]# echo -e 'date\nuuu' > 1.sh //-e表示将\n解释为换行符
[root@localhost ~]# cat 1.sh
date
uuu


help echo

-e 参数说明

控制字符作用
\\输出\本身
\a输出警告音
\b退格键,也就是向左删除
\c取消输出行末的换行符。和“-n”选项一致
\eESCAPE键
\f换页符
\n换行符
\r回车键
\t制表符,也就是Tab键
\v垂直制表符
\0nnn按照八进制ASCII码表输出字符。其中0为数字零,nnn是三位八进制数
\xhh按照十六进制ASCII码表输出字符。其中hh是两位十六进制数

更多示例

这个输出会输出\,同时会在系统音响中输出一声提示音
[root@xiaoshaozi ~]# echo -e "\\ \a"

"\b"删除,所以输出时只有ac
[root@xiaoshaozi ~]# echo -e "ab\bc"
ac

我们加入了制表符“\t”和换行符“\n”,所以会按照格式输出
[root@xiaoshaozi ~]# echo -e "a\tb\tc\nd\te\tf"
a       b       c
d       e       f

还是会输出上面的内容,不过是按照八进制ASCII码输出的。
也就是说141这个八进制,在ASCII码中代表小写的“a”,其他的以此类推
[root@xiaoshaozi ~]# echo -e "\0141\t\0142\t\0143\n\0144\t\0145\t\0146"
a       b       c
d       e       f

如果按照十六进制ASCII码也同样可以输出
[root@xiaoshaozi ~]# echo -e "\x61\t\x62\t\x63\n\x64\t\x65\t\x66"
a       b       c
d       e       f


echo命令还可以进行一些比较有意思的东西,比如:

image-20231220141202133

这条命令会把abcd按照红色输出。
解释下这个命令
\e[1 	是标准格式,代表颜色输出开始,
\e[0m	代表颜色输出结束,
31m		定义字体颜色是红色

echo
能够识别的颜色如下:
30m=黑色,
31m=红色,
32m=绿色,
33m=黄色,
34m=蓝色,
35m=洋红,
36m=青色,
37m=白色。
echo
可以使用的背景颜色如下:
40m=黑色,
41m=红色,
42m=绿色,
43m=黄色,
44m=蓝色,
45m=洋红,
46m=青色,
47m=白色。

ASCII 控制字符 - “\033”

ASCII控制字符的编号范围是0-31和127(0x00-0x1F和0x7F),共33个字符。

输出到控制台时,可以利用控制字符来控制输出文本的显示效果。

控制字符可以用8进制或16进制表示,比如:“\033”, “\0x1b”, "\x1b"均表示同一个控制字符,含义是ESC

ESC后面跟一个格式字符串,用来设置颜色或控制光标

格式含义
\033[0m关闭所有属性
\033[1m设置高亮度
\033[4m下划线
\033[5m闪烁
\033[7m反显
\033[8m消隐
\033[30~37m设置前景色
\033[40~47;m设置背景色
\033[nA光标上移n行
\033[nB光标下移n行
\033[nC光标右移n行
\033[nD光标左移n行
\033[y;xH设置光标位置
\033[2J清屏
\033[K清除从光标到行尾的内容
\033[s保存光标位置
\033[u恢复光标位置
\033[?25l隐藏光标
\033[?25h显示光标

前景色和背景色对应的数字

颜色背景色背景色加亮前景色前景色加亮
401003090
411013191
绿421023292
431033393
441043494
451053595
靛蓝461063696
471073797

使用echo命令进行测试

可以使用echo命令对格式字符串进行测试

例如:

echo -e "\033[41;36m 一段文字 \033[0m"

这里先把控制台的背景色设置为红色(41),文字的颜色设置为靛蓝色(36),打印一段文字后,关闭了所有设置(还原到默认状态下)

output


测试不同的前景色

test-foregroud-color

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠闲的线程池

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值