您现在的位置是:首页 > 正文

shell中echo命令详解

2024-04-01 06:52:18阅读 1

本文参考自:

http://www.linuxidc.com/Linux/2014-08/105548.htm

http://www.cnblogs.com/perfy/archive/2012/07/24/2605903.html


更详细的内容请参考:

http://www.zsythink.net/archives/96

http://www.zsythink.net/archives/111


linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法。其主要用于字符串的输出。命令格式:

语法:
  1. # echo [Options] [String]

方括号中的项目是可选的。字符串可以定义为字符的有限序列(如字母,数字,符号,标点符号)。

当echo命令不带任何选项或字符串使用时,它会在显示屏上返回一个空白行,后面换一行跟上命令提示符。这是因为按下回车键就是发送一个信号给系统以开始一个新行,而echo重复了该信号。

# 该命令的一般格式为: echo [ -n ] 字符串

其中选项-n表示输出文字后不换行;字符串能加引号,也能不加引号。

用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

显示普通字符串:

echo "It is a test"

这里的双引号完全可以省略,以下命令与上面实例效果一致:

echo It is a test

显示转义字符

选项:

  • -n 不换行输出
  • -e 启用反斜线转义解释
  • -E 禁用反斜线转义解释(默认)


功能说明:显示文字。

语   法:echo [-ne][字符串]     或   echo [--help][--version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。

参   数:-n 不要在最后自动换行  。-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
–help 显示帮助
–version 显示版本信息
echo "\"It is a test\""

结果将是:

"It is a test"

同样,双引号也可以省略

显示变量

read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量

#!/bin/sh
read name 
echo "$name It is a test"

以上代码保存为 test.sh,name 接收标准输入的变量,结果将是:

[root@www ~]# sh test.sh
OK                     #标准输入
OK It is a test        #输出

显示换行

echo -e "OK! \n" # -e 开启转义
echo "It it a test"

输出结果:

OK!

It it a test

显示不换行

#!/bin/sh
echo -e "OK! \c" # -e 开启转义 \c 不换行
echo "It is a test"

输出结果:

OK! It is a test

显示结果定向至文件

echo "It is a test" > myfile

原样输出字符串,不进行转义或取变量(用单引号)

echo '$name\"'

输出结果:

$name\"

显示命令执行结果

echo `date`

注意: 这里使用的是反引号 `, 而不是单引号 '

结果将显示当前日期

Thu Jul 24 10:08:46 CST 2014

常用情景

Linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到。

比如:echo可用作显示注释,用于一些批命令中需要注释给用户看的地方,比如前一条命令执行会花很长时间,常会用echo显示一条信息让用户知道这个时候比较慢,稍微等待一会。

在Linux中echo命令用来在标准输出上显示一段字符,比如:
echo "the echo command test!"

这个就会输出“the echo command test!”这一行文字!

echo "the echo command test!">a.sh
这个就会在a.sh文件中输出“the echo command test!”这一行文字! 该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。


网站文章

  • 【Spring】xml配置文件常用的头约束

    【Spring】xml配置文件常用的头约束

    xml配置文件中常用的头部xsd约束大全

    2024-04-01 06:52:11
  • ModuleNotFoundError: No module named ‘paddle‘

    ModuleNotFoundError: No module named ‘paddle‘

    2024-04-01 06:52:04
  • Alpha 冲刺 (1/10)

    Alpha 冲刺 (1/10)

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:来自双十一的爱 团队部分 后敬甲(组长) 过去两天完成了哪些任务 文字描述 Alpha版本的任务细分安排 leangoo团队管理完善 博客模板整理 GitHub代码/文档签入记录 暂无代码签入 接下来的计划 完善规范Github代码管理方法 团队项目进度跟进 还剩下哪些任务 继续跟进团...

    2024-04-01 06:51:56
  • c控制语句:分支和跳转

    c控制语句:分支和跳转

    1 if语句while循环的测试条件利用scanf()的返回值来结束循环,因为scanf()在读到非数字字符时会返回0。if语句被称为分支语句或选择语句,因为它相当于一个交叉点,程序需要在两条分支中选...

    2024-04-01 06:51:16
  • priority_queue 第三个模板参数和sort 的第三个形参的区别

    priority_queue 第三个模板参数和sort 的第三个形参的区别

    priority_queue 需要的是类型,根据类型,自己类内部定义对象来做;sort 需要的就直接是对象;根据传入对象来实现比较;(仿函数对象,自定义函数对象)传入greater 就是传入类型,因为这只是个类;传入greater() (带括号) 就是构造了一个这个类的对象,传入的是对象;...

    2024-04-01 06:51:09
  • 【Day_13】▲跳石板

    这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。本题的核心思想就是从初始位置...

    2024-04-01 06:51:02
  • SpringBoot 打包jar文件运行以后,数据库出现乱码问题

    SpringBoot 打包jar文件运行以后,数据库出现乱码问题

    springboot项目打成jar包以后,通过 java -jar xxx.jar运行后台以后,有时候会出现数据库乱码问题,当我们排除项目本身的配置文件中的配置,以及数据库中的编码格式以后,应该问题在...

    2024-04-01 06:50:23
  • 前后端的yield

    后端:yield是作用于多线程的一个让步方法,调用该方法后本线程会暂停下来,直到其它线程运行完后再继续执行; 前端:yield在Generator函数中使用,表示暂停,以实现Generator函数分段执行的功能,通过Generator函数调用next方法继续执行下一段,直到遇到下一个yield再暂停或直接运行完毕。 ...

    2024-04-01 06:50:15
  • Python每日一算法之”最接近k个数”(列表函数运用)

    问题描述:给定一个目标数target,一个非负整数k,一个按照升序排列的数组A。在A中找出与target最接近的k个整数,返回这k个数并按照与target的接近程度从小到大排序,如果接近程度相同,那么...

    2024-04-01 06:50:07
  • 红米hm2a显示无法连接到服务器,红米HM2A刷机教程

    红米hm2a显示无法连接到服务器,红米HM2A刷机教程

    红米刷机教程刷机教程方法1:系统内升级下载必要的文件,为刷机过程做准备。MIUI完整包跨版本升级、降级均需手动进入Recovery 清除全部数据。下载 MIUI_ROM 最新安装包 立即下载如果已经在...

    2024-04-01 06:49:28