用途说明

echo命令用来打印信息,是一个最常用的命令。在命令行中常用来打印环境变量的值,已确定当前环境中是否设置了指定的环境变量。在shell脚本中,常用来打印信息和帮助调试程序。

常用参数

-n 打印信息之后不换行。

-e 对字符串转义。

使用示例

示例一 打印当前的PATH设置

[root@jfht ~]# echo $PATH

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/apache/apache-ant-1.7.1/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

[root@jfht ~]#

示例二 打印当前的LANG设置(LANG为语系文件变量,有时系统中文乱码可能就需要改变该文件)

[root@jfht ~]# echo $LANG

zh_CN.GB18030

[root@jfht ~]#

网上经常有人问在Linux下将默认语言更改为中文,我一般的做法是

在/etc/profile的末尾加上

export LANG=zh_CN.GB18030

然后重新登录即可。但是较低版本的Linux通常在某些命令的输出中出现乱码,比如常用的service命令。

示例三 打印之后不换行

[root@jfht ~]# echo -n "Please input your name: "; read name; echo "Your name is $name"

Please input your name: coding

Your name is coding

[root@jfht ~]#

此处使用了-n参数,避免在输出信息之后自动换行。

示例四 对输出信息进行转义,比如输出换行

[root@jfht ~]# echo "hello\nworld"

hello\nworld

[root@jfht ~]# echo -e "hello\nworld"

hello

world

[root@jfht ~]# echo 'hello\nworld'

hello\nworld

[root@jfht ~]# echo -e 'hello\nworld'

hello

world

[root@jfht ~]# echo hello; echo world

hello

world

[root@jfht ~]#

可以使用如下转义字符

\a 发出警告声;

\b 删除前一个字符;

\c 最后不加上换行符号;

\f 换行但光标仍旧停留在原来的位置;

\n 换行且光标移至行首;

\r 光标移至行首,但不换行;

\t 插入tab;

\v 与\f相同;

\\ 插入\字符;

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

[root@jfht ~]# echo "hello\fworld"

hello\fworld

[root@jfht ~]# echo -e "hello\fworld"

hello

world

[root@jfht ~]# echo "hello\vworld"

hello\vworld

[root@jfht ~]# echo -e "hello\vworld"

hello

world

[root@jfht ~]#

示例五 输出到标准错误输出

在编写脚本时,经常会利用管道将前一个命令的输出作为后一个命令的输入,如果要打印调试信息,但不把该信息干扰后面的命令,可以将调试信息输出到标准错误输出,如下所示。

[root@jfht ~]# echo hello >&2

hello

[root@jfht ~]#

下面是一个应用此技巧的脚本片段。

Bash代码

# usage: proc_cmd

proc_cmd()

{

CMD=$1

NUM=$(get_estimate_count $CMD)

# 只有返回数值的时候才打印信息,否则出错了

if [ "$NUM"]; then

printf "%-48s\t%16s\n"$CMD    $NUM

else

echo $CMD >&2

echo $CMD >>failed.dat

fi

}

# usage: proc_cmd

proc_cmd()

{

CMD=$1

NUM=$(get_estimate_count $CMD)

# 只有返回数值的时候才打印信息,否则出错了

if [ "$NUM" ]; then

printf "%-48s\t%16s\n" $CMD $NUM

else

echo $CMD >&2

echo $CMD >>failed.dat

fi

}

问题思考

1. 将要输出的信息放在单引号、双引号以及不放在引号中有什么区别?

2. 怎样输出彩色文字(如同ls时的效果)?

linux用echo显示欢迎信息,我使用过的Linux命令之echo - 显示文本、打印信息相关推荐

  1. matlab命令行窗口显示长度设置_由于运算出来的数据比较多,在命令窗口里显示不全,matlab怎么设置才能在命令窗口中显示全部运算结果...

    MATLAB概论MATLAB是世界流行的优秀科技应用软件之一.具有功能强大(数值计算.符号计算.图形生成.文本处理及多种专业工具箱).界面友好,可二次开发等特点.在国内外,已有许多高等院校将其列为本科 ...

  2. android电视打印信息解析,液晶电视获取打印信息的方法与操作

    通过本文我们先来了解一下打印信息,首先要说的就是打印信息并不要打印机,只需要我们的烧录器就可以了.打印信息是什么呢,打印信息是电视机主控送出来的一段代码,我们通过电脑或是手机来查看代码,是机器本身运行 ...

  3. DbgView软件 查看VC++ MFC 程序的打印信息

    DbgView软件 查看VC++ MFC 程序的打印信息 一.在写VC++ MFC程序的调制过程中,需要跟踪打印信息,但在MFC中用printf不知道在哪里看打印信息,今天介绍一款软件,可以查看对应的 ...

  4. linux欢迎信息打印本机ip,Linux shell 登录显示欢迎信息或机器信息(示例代码)

    写这个脚本的背景:因为管理的机器越来越多,每次登录机器都可以显示相应机器的信息防止误操作. 同时个人工作的环境有多个跳板机, 也容易操作错误,  所以每台机器上加个登录显示. 创建登录显示脚本 修改 ...

  5. Linux 命令之 uname -- 显示系统/主机的相关信息

    文章目录 一.命令介绍 二.常用选项 三.命令示例 (一)显示系统主机名.内核版本号.CPU类型等信息 一.命令介绍 uname 命令的英文全称即"Unix name".用于显示系 ...

  6. Linux 命令之 netstat -- 查看网络状态信息/显示网络状态

    文章目录 命令介绍 常用选项 参考示例 (一)列出所有端口 (二)列出所有 TCP 端口 (三)列出所有 UDP 端口 (四)只显示监听端口 (五)只列出所有监听 tcp 端口 (六)只列出所有监听 ...

  7. Linux 命令之 ps -- 显示进程状态/查看进程信息

    文章目录 介绍 语法格式 常用选项 命令示例 示例 1,查看进程的 PID.名称以及 CPU 占用率 示例 2,查看所有的进程 示例 3,按内存资源的使用量对进程进行排序 示例 4,按 CPU 资源的 ...

  8. Linux ls信息给qt gui,如何使用Qt 4把ls命令的结果显示到GUI界面上去?

    如何使用Qt 4把ls命令的结果显示到GUI界面上去? 问:您好!想向您请教一些问题!现在在做论文比较急,不知能否请您给指导一下.我的系统是openSUSE 11.1, Qt版本为4.4.3.现想做一 ...

  9. Linux 命令之 lspci -- 显示当前设备所有PCI总线信息

    文章目录 命令介绍 常用选项 命令示例 (一)罗列 PCI 设备 命令介绍 lspci命令用于显示当前主机的所有PCI总线信息,以及所有已连接的PCI设备信息. 现在主流设备如网卡储存等都采用PCI总 ...

最新文章

  1. 用S60操作系统SDK开发NOKIA手机应用程序(4)- 界面层框架及一些特性
  2. 云从完成超过18亿元新一轮融资,加快上市步伐
  3. 一文概览深度学习中的激活函数
  4. 左右HttpClient上传的方法来解决中国的乱码
  5. 【转帖】Windows下PostgreSQL安装图解
  6. 使用工具快速找出custom work center使用的ui component
  7. python识别简单训练模型_使用已经得到的keras模型识别自己手写的数字方式
  8. Nginx日志配置详解
  9. 带你深入了解 GitLab CI/CD 原理及流程
  10. AJAX使用说明书 基础
  11. python从入门到精通需要多久-Python 从入门到精通:一个月就够了!
  12. Windows由于在创建转储期间出错,创建转储文件失败导致的蓝底白字蓝屏重启,最全细解决方案
  13. 数据挖掘案例实战:利用LDA主题模型提取京东评论数据(一)
  14. Python入门-编写简单名片管理系统
  15. 警告: PREMNMX is an obsolete function.解决办法
  16. 计算机视觉 图像形成 几何图形和变换
  17. Android 找不到符号错误
  18. 5V2A移动电源管理芯片脚位兼容IP5306
  19. MacOS 升级自带PHP5.6 升级到 PHP7.1
  20. 如何用AI做一个好看的图案

热门文章

  1. GestureDetector学习之左右滑动,上下滑动屏幕切换页面
  2. Linux 常用测试命令
  3. sql数据库连接不上本地数据库的解决办法
  4. java 优酷视频缩略图_java获取优酷等视频缩略图
  5. java builder pool_每周10道Java面试题:String, String Pool, StringBuilder
  6. elasticsearch 6.x (三) linux 集群多节点部署
  7. 了解 yarn 、npm、nodejs
  8. typescript 安装
  9. superagent返回结果乱码
  10. Java 批量插入数据到数据库(MySQL)中