Linux系统之echo命令的基本使用

2024-09-19 22:29:47 浏览数 (1)


一、echo命令介绍

  • echo命令简介echo命令是一个用于在终端中显示一行文本的命令。它通常用于脚本和命令行操作中,可以用来显示变量的值、输出错误消息、创建文本文件等。

二、echo命令的使用帮助

2.1 echo命令的help帮助信息

执行以下命令,查看echo命令的帮助信息。

代码语言:bash复制
[root@openEuler-test ~]#  help echo
echo: echo [-neE] [arg ...]
    Write arguments to the standard output.

    Display the ARGs, separated by a single space character and followed by a
    newline, on the standard output.

    Options:
      -n	do not append a newline
      -e	enable interpretation of the following backslash escapes
      -E	explicitly suppress interpretation of backslash escapes

    `echo' interprets the following backslash-escaped characters:
      a	alert (bell)
      b	backspace
      c	suppress further output
      e	escape character
      E	escape character
      f	form feed
      n	new line
      r	carriage return
      t	horizontal tab
      v	vertical tab
      \	backslash
      nnn	the character whose ASCII code is NNN (octal).  NNN can be
    		0 to 3 octal digits
      xHH	the eight-bit character whose value is HH (hexadecimal).  HH
    		can be one or two hex digits
      uHHHH	the Unicode character whose value is the hexadecimal value HHHH.
    		HHHH can be one to four hex digits.
      UHHHHHHHH the Unicode character whose value is the hexadecimal value
    		HHHHHHHH. HHHHHHHH can be one to eight hex digits.

    Exit Status:
    Returns success unless a write error occurs.

2.2 echo命令的语法解释

选项

描述

-n

不在输出末尾附加换行符。

-e

启用对反斜杠转义序列的解释。

-E

明确禁止对反斜杠转义序列的解释。(默认)

echo 命令解释的反斜杠转义序列:

转义序列

描述

a

警告(bell)。

b

退格(backspace)。

c

不产生后续输出。

e

逃逸字符。

E

逃逸字符。

f

换页(form feed)。

n

新行(newline)。

r

回车(carriage return)。

t

水平制表符(tab)。

v

垂直制表符(vertical tab)。

反斜杠(backslash)。

nnn

ASCII 码为 NNN(八进制)的字符。NNN 可以是 0 到 3 位的八进制数字。

xHH

值为 HH(十六进制)的八位字符。HH 可以是一位或两位的十六进制数字。

uHHHH

值为 HHHH(十六进制)的 Unicode 字符。HHHH 可以是一位到四位的十六进制数字。

UHHHHHHHH

值为 HHHHHHHH(十六进制)的 Unicode 字符。HHHHHHHH 可以是一位到八位的十六进制数字。

三、echo命令的基本使用

3.1 显示普通文本

直接使用echo命令,输出文本信息。

代码语言:bash复制
[root@openEuler-test ~]# echo "I have a dream !"
I have a dream !

3.2 不换行输出

默认情况下,echo命令会在输出文本后自动换行。如果不想换行,可以使用-n选项。

代码语言:bash复制
vim aa,sh
代码语言:bash复制
#!/bin/bash
echo -n "Today is "
date  %A
代码语言:bash复制
[root@openEuler-test ~]# sh aa.sh
Today is Friday

3.3 显示带有转义字符的文本

使用-e选项,显示带有转义字符的文本。

代码语言:bash复制
[root@openEuler-test ~]# echo -e "hello nworld !"
hello
world !

3.4 输出变量

  • 定义变量
代码语言:bash复制
[root@openEuler-test ~]# echo "AAA  $AAA"
AAA  jeven

3.5 重定向文件

使用echo命令重定向文件

代码语言:bash复制
[root@openEuler-test ~]# echo hello > test.txt
[root@openEuler-test ~]# cat test.txt
hello

配合tee命令快速写入多行内容到文件

代码语言:bash复制
cat << EOF | tee test01.txt
AWESAA01
LOWWW122
OOP123
EOF

3.6 禁止使用转义符

使用-E选项, 禁止使用转义符。

代码语言:bash复制
[root@openEuler-test ~]# echo -E "hello nworld !"
hello nworld !

3.7 使用for循环打印

用for循环打印数字序列

代码语言:bash复制
[root@openEuler-test ~]# for i in {1..10}; do echo $i; done
1
2
3
4
5
6
7
8
9
10

3.8 打印带颜色的文本

打印带颜色的文本

代码语言:bash复制
[root@openEuler-test ~]# echo -e "e[1;36mI have a dream ! e[0m"
I have a dream !
代码语言:bash复制
颜色码:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37

四、注意事项

  • echo 命令默认会在输出末尾添加一个新行。
  • 使用 -n 选项可以避免在输出末尾添加新行。
  • 使用 -e 选项可以启用对转义序列的解释。
  • 单引号包围文本可以防止 shell 对变量进行扩展。
  • 双引号允许变量和命令替换在输出中生效。
  • 使用 ANSI 转义序列可以在终端中输出带颜色的文本。
  • 官方参考链接:https://man7.org/linux/man-pages/man1/echo.1.html

0 人点赞