Linux Command echo

简介: Linux Command echo

Linux Command echo

tags: 文本处理

文章目录

Linux Command echo

1. 简介

2. 转义

3. 用法

标准输出

显示变量

显示转义字符

显示文件

输出匹配文件

定向输入文件

彩色打印

显示命令执行结果

\b 选项删除字符间的所有空格

\n 选项换行

\t 选项加水平制表符

换行 \n 与水平制表符 \t

\v 选项垂直制表符

换行 \n 与垂直制表符 \v

\r 选项回车符

\c 选项不换行

-n 会在echo完后不会输出新行

\a 选项声音警告

脚本

feed.sh

1. 简介

echo是一种最常用的与广泛使用的内置于Linux的bash和C shell的命令,通常用在脚本语言和批处理文件中来在标准输出或者文件中显示一行文本或者字符串。


echo是一个内置shell命令。echo的行为与其他流行的shell一样,如Zsh和Ksh。但它们的行为与shell之间略有不同。

2. 转义

1671171021116.png

3. 用法

标准输出

$ echo Tecmint is a community of Linux Nerds 
Tecmint is a community of Linux Nerds

显示变量

比如,声明变量x并给它赋值为10。

$ x=10
$ echo The value of variable x = $x  
The value of variable x = 10

显示转义字符

$ echo "\"It is a test\""
"It is a test"

显示文件

$ echo * 
103.odt 103.pdf 104.odt 104.pdf 105.odt 105.pdf 106.odt 106.pdf 107.odt 107.pdf 108a.odt 108.odt 108.p

输出匹配文件

比如,让我们假设你想要打印所有的‘.jpeg‘文件,使用下面的命令。

$ echo *.jpeg 
network.jpeg

定向输入文件

$ echo "Test Page" > testpage  
$ cat testpage 
Test Page

彩色打印

你可使用ANSI转义序列更改前景色和背景色或设置下划线和粗体等文本属性。

echo -e "\033[1;37mWHITE"   #打印白色
echo -e "\033[0;30mBLACK"    #打印黑色
echo -e "\033[0;34mBLUE"      #打印蓝色
echo -e "\033[0;32mGREEN"   #打印绿色
echo -e "\033[0;36mCYAN"    #打印青蓝色
echo -e "\033[0;31mRED"      #打印红色
echo -e "\033[0;35mPURPLE"  #打印紫色。

显示命令执行结果

$ echo `date`
Tue Jun 28 11:59:39 UTC 2022

\b 选项删除字符间的所有空格

  • -e‘后带上’\b’会删除字符间的所有空格。

[!NOTE|style:flat|lable:Mylable|iconVisibility:hidden]

Linux中的选项‘-e‘扮演了转义字符反斜线的翻译器。

$ echo -e "Tecmint \bis \ba \bcommunity \bof \bLinux \bNerds" 
TecmintisacommunityofLinuxNerds 

\n 选项换行

  • -e‘后面的带上‘\n’行会换行
$ echo -e "Tecmint \nis \na \ncommunity \nof \nLinux \nNerds" 
Tecmint 
is 
a 
community 
of 
Linux 
Nerds 

\t 选项加水平制表符

  • -e‘后面跟上‘\t’会在空格间加上水平制表符。
$ echo -e "Tecmint \tis \ta \tcommunity \tof \tLinux \tNerds"  
Tecmint     is  a   community   of  Linux   Nerds 

换行 \n 与水平制表符 \t

$ echo -e "\n\tTecmint \n\tis \n\ta \n\tcommunity \n\tof \n\tLinux \n\tNerds" 
    Tecmint 
    is 
    a 
    community 
    of 
    Linux 
    Nerds 

\v 选项垂直制表符

  • ‘-e‘后面跟上‘\v’会加上垂直制表符。
$ echo -e "\vTecmint \vis \va \vcommunity \vof \vLinux \vNerds" 
Tecmint 
        is 
           a 
             community 
                       of 
                          Linux 
                                Nerds 

换行 \n 与垂直制表符 \v

$ echo -e "\n\vTecmint \n\vis \n\va \n\vcommunity \n\vof \n\vLinux \n\vNerds" 
Tecmint 
is 
a 
community 
of 
Linux 
Nerds 

[!NOTE|style:flat|lable:Mylable|iconVisibility:hidden]

你可以按照你的需求连续使用两个或者多个垂直制表符,水平制表符与换行符。

\r 选项回车符

  • -e‘后面跟上‘\r’来指定输出中的回车符。(LCTT 译注:会覆写行开头的字符)
$ echo -e "Tecmint \ris a community of Linux Nerds"  
is a community of Linux Nerds

\c 选项不换行

  • -e‘后面跟上‘\c’会抑制输出后面的字符并且最后不会换新行。
$ echo -e "Tecmint is a community \cof Linux Nerds" 
Tecmint is a community @tecmint:~$

-n 会在echo完后不会输出新行

$ echo -n "Tecmint is a community of Linux Nerds" 
Tecmint is a community of Linux Nerds@tecmint:~/Documents$

\a 选项声音警告

  • -e‘后面跟上‘\a’选项会听到声音警告。
$ echo -e "Tecmint is a community of \aLinux Nerds" 
Tecmint is a community of Linux Nerds

脚本

feed.sh

$ cat feed.sh
#!/bin/bash
# This script acts upon the exit status given by penguin.sh
if [ "$#" != "2" ]; then
  echo -e "Usage of the feed script:\t$0 food-on-menu animal-name\n"
  exit 1
else
  export menu="$1"
  export animal="$2"
  echo -e "Feeding $menu to $animal...\n"
  feed="/nethome/anny/testdir/penguin.sh"
  $feed $menu $animal
result="$?"
  echo -e "Done feeding.\n"
case "$result" in
  1)
    echo -e "Guard: \"You'd better give'm a fish, less they get violent...\"\n"
    ;;
  2)
    echo -e "Guard: \"No wonder they flee our planet...\"\n"
    ;;
  3)
    echo -e "Guard: \"Buy the food that the Zoo provides at the entry, you ***\"\n"
    echo -e "Guard: \"You want to poison them, do you?\"\n"
    ;;
  *)
    echo -e "Guard: \"Don't forget the guide!\"\n"
    ;;
  esac
fi
echo "Leaving..."
echo -e "\a\a\aThanks for visiting the Zoo, hope to see you again soon!\n"

执行:

michel ~/test> feed.sh apple camel
Feeding apple to camel...
Will you read this sign?!  Don't feed the camels!
Done feeding.
Guard: "Buy the food that the Zoo provides at the entry, you ***"
Guard: "You want to poison them, do you?"
Leaving...
Thanks for visiting the Zoo, hope to see you again soon!
michel ~/test> feed.sh apple
Usage of the feed script:       ./feed.sh food-on-menu animal-name

参考:

相关文章
|
6月前
|
Linux Shell PHP
linux(十五)文件和目录相关命令-控制台输出命令echo和重定向
linux(十五)文件和目录相关命令-控制台输出命令echo和重定向
125 0
|
Linux
terminal 输出转义字符 linux echo
terminal 输出转义字符 linux echo
60 0
|
Linux
echo显示Linux命令执行的结果
echo显示Linux命令执行的结果
|
关系型数据库 MySQL Shell
【Linux命令】-bash: mysql: command not found
【Linux命令】-bash: mysql: command not found
138 0
|
22天前
|
存储 Linux
linux echo 写入文件
通过这些技巧和示例,你可以灵活运用 `echo`命令,无论是进行简单的文本输出还是复杂的文件操作,都能在Linux环境中游刃有余。
43 1
|
6月前
|
Linux
Linux命令(88)之echo
Linux命令(88)之echo
62 1
|
4月前
|
Linux
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
|
4月前
|
Shell Linux
Linux环境变量之shell中export定义全局变量和echo 变量的区别
Linux环境变量之shell中export定义全局变量和echo 变量的区别
|
6月前
|
Linux Shell 开发工具
【Linux】:文本编辑与输出命令 轻松上手nano、echo和cat
【Linux】:文本编辑与输出命令 轻松上手nano、echo和cat
106 0
|
6月前
|
Linux C语言
Linux 指令|echo|输出重定向|追加重定向|输入重定向|cat
Linux 指令|echo|输出重定向|追加重定向|输入重定向|cat