首页 > > > Linux命令学习手册-printf
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 的效果相同。
$printf "$my_var \n"输入之后,输出如下:
abc123或者
$printf '$my_var \n'输入之后,输出如下:
$my_var这里,这两个命令类似于 echo ,需要注意的是不能如下这样:
$printf "%s \n" $var因为,变量不可以如此输出,因为 printf 命令的 ARGUMENT 认字符串。
NULL 或者 来代替$printf "%s and %d \n"输入之后,输出如下:
and 0这个函数类似C语言里的 printf ,先指定格式,再写上变量。不同点,SHELL命令的 printf
没有C语言函数里必须的括号;
一般情况下,指定 FORMAT 时候,使用单引号和双引号均可;
某些情况下,不加引号也可以,但是无法处理负责格式;
某些情况下, FORMAT 可以重用,可以将所有参数都转换;
输出变量参数之间使用空格或 tab 分割,不用逗号;
某种程度上可以替代 echo.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9525959/viewspace-3160841/ ,如需转载,请注明出处,否则将追究法律责任。