Linux终端打印的常用命令echo和printf

转载 2015年11月19日 08:56:20

终端打印的常用命令有 echo 和 printf 两种。

先说基本用法:


echo:

1. echo Hello Word !

命令行输出:Hello Word !

2. echo 'Hello Word !'

命令行输出:Hello Word !

3. echo "Hello Word"

命令行输出:Hello Word


嗯? 为什么第三种,即双引号的方式, 跟世界打个招呼没有感情(感叹号)呢?


这就得说到这三种打印方式的差别了。

先说第三种,将输出内容放到双引号里。不能直接打印!(叹号),会提示

bash: !: event not found error

如果要打印,应该

set +H

echo "Hello Word !"

赶紧试试输出结果吧。 或者用前两种方法


那第二种呢?

单引号的打印方式也是有缺陷滴。即,打印不了变量。关于变量后面再说。


第一种也有不足吗?

答案当然是肯定的啦。很明显第一个打印不了“;”(分号)。

如果分行在句尾,直接被忽略

echo Hello Word;

命令行输出:Hello Word 

如果分号在句中,还会报错呢

echo Hello; Word

命令行输出:Hello

并提示找不到Word命令


明白了吧,分号在shell里被用作命令界定符,标记一个命令的结束。


简单的输出一定掌握了吧。来点高端滴:echo 的参数

-e:识别输出内容里的转义序列

-n:忽略结尾的换行


转义不懂是可以理解的,请百度或Google之

转义懂得,是不需要讲滴,对不。还是举个例子

echo -e "Hello\tWord"

命令行输出:Hello Word 


关于-n,大家肯定都看见了。echo的默认输出最后都有换行,次参数就是去掉末尾的换行滴。

有的时候吧,还真挺有用。记住哦


高端的学完还是感觉不足以拿出来炫耀,那必须来点大气上档次滴

叫做:彩色打印输出,太帅太酷啦!


作为必备背景知识,得先补充一下。别心急

先说颜色值这回事儿:

文字颜色:

重置=0 黑色=30 红色=31 绿色=32 黄色=33 蓝色=34 洋红=35 青色=36 白色=37

文字背景颜色:

重置=0 黑色=40 红色=41 绿色=42 黄色=43 蓝色=44 洋红=45 青色=46 白色=47


不多废话,赶紧上实现方式

echo -e "\e[1;31m Hello Word \e[0m"

命令行输出:Hello Word

echo -e "\e[1;41m Hello Word \e[0m"

命令行输出:Hello Word


下面隆重登场的就是printf啦

必须说明的两点是,

1.printf的默认输出没有换行,换行需要自己加“\n”

2.printf支持格式化输出,要不怎么能叫printf呢


举例几个吧

printf "%-10sWord\n" Hello

命令行输出: Hello     Word

其中 “-”表示左对齐     “10”表示Hello这个字符占10个字符长度输出    “s"表示输出的是字符串String


printf "%4.2f\n" 5.12345

命令行输出:5.12

"4"还是占4个字符长度 “.2”表示输出小数点后的两位 “f”表示输出的浮点型数Float



注:内容多参照 《Linux Shell 脚步攻略》。

Linux shell之打印命令

1、echo 命令 echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串。命令格式: echo arg 您可以使用echo实现更复杂的输出格式控制。 --...
  • bv1315008634
  • bv1315008634
  • 2016年12月27日 22:23
  • 671

Linux打印命令

在Linux下采用假脱机(spooling)打印方法,当用户需要打印一个文件时,该文件并不直接送到打印机,而是送到spool目录下,然后由一个负责打印的后台进程把这些数据送入打印机。Linux对每台打...
  • danforn
  • danforn
  • 2006年05月19日 09:33
  • 3278

关于linux打印某个文件内容的命令

1、打印文件的第一列(域)                 : awk '{print $1}' filename 2、打印文件的前两列(域)                 : awk '{pri...
  • baidu_25226775
  • baidu_25226775
  • 2015年09月16日 15:49
  • 386

pl- 配置远程打印机,用linux命令行打印

问题来源: 实验室打印机认证过我台式机的IP,但是里面只有linux命令行界面,只当作服务器用…又不想每次用笔记本想打印都折腾换网线…so…问题描述:如何用命令行连接网络打印机,并用命令行控制打印工具...
  • u010516326
  • u010516326
  • 2017年09月29日 17:25
  • 301

printf()详解之终极无惑

1.printf()简介printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件stdio.h。函数原型:int...
  • K346K346
  • K346K346
  • 2016年08月24日 20:01
  • 14709

通过printf在控制台终端输出带颜色的打印或日志信息

考虑以下应用场景或需求:用户希望看到的显示在终端的打印信息能够按颜色输出。比如,错误信息用红色输出,正确信息用绿色输出,普通信息则是常规输出。       如何做到呢?printf函数可以帮助做到这...
  • acs713
  • acs713
  • 2014年03月31日 17:41
  • 6316

Bash shell脚本打印出正在执行的命令

默认情况下,bash脚本不会打印执行的每个命令,这个有时候不太方面。 如下的方法可以让bash脚本打印出执行的命令: 1) 在脚本里添加  set -v 或者 #!/bin/bash -v 以加...
  • CaspianSea
  • CaspianSea
  • 2015年05月16日 12:41
  • 8689

Linux命令之echo - 显示文本、打印信息

 用途说明 echo命令用来打印信息,是一个最常用的命令。在命令行中常用来打印环境变量的值,已确定当前环境中是否设置了指定的环境变量。在shell脚本中,常用来打印信息和帮助调试程序。   ...
  • a1232345
  • a1232345
  • 2014年07月07日 15:49
  • 1833

在linux下用echo命令来清理日志,清理完毕之后不需要重启

echo "" > /usr/local/tomcat/tms2api.wuliusys.com/logs/catalina.out 这里是清理在linux下catalina.out to...
  • mexican_jacky
  • mexican_jacky
  • 2016年10月20日 09:39
  • 4367

shell输出a-z,A-Z,0-9

shell输出a-z,A-Z
  • ghosc
  • ghosc
  • 2010年07月08日 15:46
  • 4439
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux终端打印的常用命令echo和printf
举报原因:
原因补充:

(最多只允许输入30个字)