shell终端打印两种方法echo,printf

2025-11-20 02:43:07

1、在默认情况下,echo在每次调用后会添加一个换行符。echo输出的字符串,可以带双引号,可以带单引号或者不带引号。

2、带双引号。

shell终端打印两种方法echo,printf

3、带单引号。

shell终端打印两种方法echo,printf

4、不带引号。

shell终端打印两种方法echo,printf

5、echo三种字符串输出的区别。

带双引号的字符串中,特殊字符需要转义,而其它两种输出方式不需要对特殊字符进行转义;或者在echo之前执行set +H,则特殊字符不需要转义也能正常显示。

带单引号的字符串中,若有变量则不解析。例echo '$var'将会返回$var,不会输出其值。echo $var将会根据变量$var定义与否,返回$var的值。

不带引号,以echo hello;hello为例,echo hollo 被视为一个命令,holle被视为另一个命令。

所以echo文本输出,推荐使用带双引号的。

shell终端打印两种方法echo,printf

shell终端打印两种方法echo,printf

1、printf使用引用文本或由空格分隔参数。printf可以使用格式化字符串,指定字符串的宽度、左右对齐方式等。在默认情况下,printf不会自动添加换行符,这和echo不一样。可以在需要的时候手动添加\n。

2、例如:

#!/bin/bash 

printf "%-5s %-10s %-4s\n" No Name Mark

printf "%-5s %-10s %-4.2f\n" 1 Sarath 80.3456

printf "%-5s %-10s %-4.2f\n" 2 James 90.9989

printf "%-5s %-10s %-4.2f\n" 3 Jeff 77.564

%-5s指明了一个格式为左对齐且宽度为5的字符串替代(-表示左对齐)。如果不用-指定对齐方式,字符串则采用右对齐形式。宽度是指定保留给某个变量的字符数,若内容字符数不足保留的宽度,余下的则以空格填充。

%-4.2f指明浮点数的格式,.2指定保留2位小数。

%s、%c、%d和%f都是格式替代符。printf要换行,需要在每行格式字符串后添加一个换行符\n。

shell终端打印两种方法echo,printf

shell终端打印两种方法echo,printf

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢