分类: LINUX

参考资料:http://sns.linuxpk.com/space-566-do-blog-id-15819.html

printf FORMAT [ARGUMENT]...

printf OPTION

【功能】

格式化并打印数据.

【举例】

*打印整数和字符串:

$printf 'the integer is:%d\nthe string is: %s\n' 3 "test"

输入之后,输出如下:

the integer is:3

the string is: test

这里,使用单引号双引号都行;注意最后要有回车,否则下一个提示行和输出跑到一行了。

*不用引号打印一个参数的情况:

$printf %s test

输入之后,输出如下:

testquietheart@ubuntu$

从这里可以看出来,test是待打印的字符,quietheart@ubuntu$是我的机器命令提示符号,两者在一行。

*不用引号打印多个参数的情况:

$printf %s first second

输入之后,输出如下:

firstsecondquietheart@ubuntu$

*格式只指定了一个,但是多余一个参数:

$printf "%s\n" first second

输入之后,输出如下:

first

second

注意这里的回车,字符串仍旧可以输出。

*指定的格式少于参数:

$printf "%s %s %s %s\n" a b c d e f g h i j k l m n

输入之后,输出如下:

a  b c d

e  f  g h

i   j  k l

m n

这里,该情况是前面指定一个格式的情况扩展。

*类似echo -n的输出,不自动换行:

$my_var="abc123"

$printf $my_var

输入之后输出如下:

abc123quietheart@ubuntu$

如果echo输出会自动换行,这里没有自动换行,这和echo -n的效果相同。

*类似echo的输出,自动换行:

$printf "$my_var \n"

输入之后,输出如下:

abc123

或者$printf '$my_var \n'

输入之后,输出如下:

$my_var

这里,这两个命令类似于echo,需要注意的是不能如下这样:

$printf "%s \n" $var

因为,变量不可以如此输出,因为printf命令的ARGUMENT认字符串。

*如果参数没写上,那么就用NULL或者0来代替:

$printf "%s and %d \n"

输入之后,输出如下:

and 0

【描述】

这个函数类似C语言里的printf,先指定格式,再写上变量。

不同点,SHELL命令的printf

1.没有C语言函数里必须的括号;

2.一般情况下,指定FORMAT时候,使用单引号和双引号均可;

3.某些情况下,不加引号也可以,但是无法处理负责格式;

4.某些情况下,FORMAT可以重用,可以将所有参数都转换;

5.输出变量参数之间使用空格或tab分割,不用逗号;

6.某种程度上可以替代echo.

【其它】

Linux命令学习手册-printf命令(转)的更多相关文章

  1. Linux命令学习手册-route命令

    route [-CFvnee] route [-v]  [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss ...

  2. (转) Linux命令学习手册-arp命令

    arp 原文:http://blog.chinaunix.net/uid-9525959-id-3318814.html [功能] 管理系统的arp缓存. [描述] 用来管理系统的arp缓存,常用的命 ...

  3. 【转】Linux命令学习手册-split命令

    转自:http://blog.chinaunix.net/uid-9525959-id-3054325.html split [OPTION] [INPUT [PREFIX]] [功能]将文件分割成多 ...

  4. 《Linux命令学习手册》系列分享专栏

    <Linux命令学习手册>系列分享专栏 <Linux命令学习手册>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/207 ...

  5. Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)

    简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...

  6. Linux命令学习神器!命令看不懂直接给你解释!

    大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件不可能完成的任务. 一般情况下,我们学习一个命令时,要么直接百度去搜索它的用法,要么 ...

  7. linux shell 学习笔记--内部命令学习

    .基本命令 新手必须要掌握的初级命令 ls 基本的列出所有文件的命令.但是往往就是因为这个命令太简单,所以我们总是低估它.比如 ,用 -R 选项,这是递归选项,ls 将会以目录树的形式列出所有文件, ...

  8. Linux基础学习之基础命令(1)--2019-11-14

    查看命令路径其他方法: which 命令: which [options] [--] programname [...] -a:显示所有匹配的程序文件,而非第一个: --skip-alias:略过别名 ...

  9. Linux命令学习笔记- vmstat命令实战详解

    vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况.这个命令是我查看Linux/Unix最 ...

随机推荐

  1. 发送xml或json格式的数据给服务器

    后台通过context.Request.InputStream来接收 #region 发送消息 + void SendMessage() /// <summary> /// 发送消息 // ...

  2. Android图片压缩方法总结

    本文总结Android应用开发中三种常见的图片压缩方法,分别是:质量压缩法.比例压缩法(根据路径获取图片并压缩)和比例压缩法(根据Bitmap图片压缩).   第一:质量压缩方法:   ? 1 2 3 ...

  3. Eureka的故事,专注能让你看到别人看不到的事情

    有这么一句古老的箴言: 如果你手里有一把锤子,所有东西看上去都像钉子. 其实这句话已经是老调中的老调重弹了,我们程序员有很多锤子:OO.设计模式.语言(C, C++, Java, Python, Ru ...

  4. mantis 安装问题

    1. 邮件 修改 config_defaults_inc.php $g_administrator_email = 'mantis@pooy.net'; $g_webmaster_email = 'm ...

  5. maven 一好用的仓库镜像

    <mirror> <id>ibiblio.org</id> <name>ibiblio Mirror of http://repo1.maven.org ...

  6. 微信成为开发者C#代码

    第一句话都会这么去写:程序猿就是苦逼,除了开发还要会写博文!今天咱就和大家探讨下如何让自己成为开发者!那么怎么才能成为开发者呢? 首先给大家一个微信的截图,看到这个截图,是不是有想去尝试的冲动?

  7. iptables使用

    iptables规则的查看.添加.删除和修改 1.查看 iptables -nvL --line-number (这个命令跟/etc/init.d/iptables status 输出差不多) -L ...

  8. FB面经prepare: Task Schedule

    每种task都有冷却时间,比如task1执行后,要经过interval时间后才能再次执行,求总共所需时间. 用HashMap保存每一个task的下一次可以开始执行的最早时间 package TaskS ...

  9. zoj The 12th Zhejiang Provincial Collegiate Programming Contest Capture the Flag

    http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5503 The 12th Zhejiang Provincial ...

  10. C++的STL在C#中的应用

    这里主要讲几个重要的STL在C#中的应用:vector, map, hash_map, queue, set, stack, list. vector: 在C#中换成了list using Syste ...