shell script 之三:打印输出 echo printf

本文详细介绍了Shell中的echo和printf命令的用法,包括显示普通字符串、换行、颜色设置及格式化输出等内容,帮助读者掌握这些实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

echo命令

1.显示普通字符串:

echo "It is a test"
It is a test

 

2:显示换行 \n

需要 -e 参数开启转义,后面输出显示颜色也需要-e参数才会正常显示

echo -e "换行 \n"    # -e 开启转义
echo "It it a test"
----------------------
换行

It it a test

 

3.显示不换行 \c

echo -e "换行 \n"  "\c"    # -e 开启转义
echo "It it a test"
----------------------
换行
It it a test

   

4.显示颜色 -e

格式:echo -e  "\033[字背景颜色;文字颜色m    字符串    \033[0m"

其中033可以用e代替  "\e[字背景颜色;文字颜色m    字符串    \e[0m"

 

 

 

printf命令

printf 中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。

printf 输出不会自动添加换行符,需要手工添加 \n 换行。

格式:printf  <格式参数>  <输出内容>

#!/bin/sh
#test for printf
#2015 by sunny
printf "%-10s   %-5s  %-10s \n" 姓名 性别 成绩                       #  %s 制定了后面对应参数的宽度,-标识左对齐,默认右对齐。
printf "%-10s  %-5s   %-10s \n" hel 男 80.2556                      #   %f 指格式化为小数,其中.2指保留2位小数,10为字符宽度,自动四舍五入。
printf "%-10s  %-5s  %-10.3f \n" lily girl 90.12345                       
printf "%-10s  %-5s  %-10.2f  \n" grace girl 88.54321             

[root@test65 script]# sh sh3.sh 
姓名       性别   成绩 
hel       男    80.2556 
lily       girl   90.123 
grace       girl  88.54

  

例一:

printf "%.5d\n"   123

00123     

例二:

printf "%.10s\n" "this is a test\!"

this is a    # !号需要转义,另外空格也算一位

例三: 

printf "%.2f\n" 123456
123456.00

 

printf的转义序列

序列说明
\a警告字符,通常为ASCII的BEL字符
\b后退
\c抑制(不显示)输出结果中任何结尾的换行字符(只在%b格式指示符控制下的参数字符串中有效),而且,任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符,都被忽略
\f换页(formfeed)
\n换行
\r回车(Carriage return)
\t水平制表符
\v垂直制表符
\\一个字面上的反斜杠字符
\ddd表示1到3位数八进制值的字符。仅在格式字符串中有效
\0ddd表示1到3位的八进制值字符

 

printf格式指示符

                  printf格式指示符

%c

ASCII字符.显示相对应参数的第一个字符

%d,%i

十进制整数

%e

浮点格式([-d].precisione [+-dd])

%E

浮点格式([-d].precisionE [+-dd])

%g

%e或%f转换,看哪一个较短,则删除结尾的零

%G

%E或%f转换,看哪一个较短,则删除结尾的零

%s

字符串

%u

不带正负号的十进制值

%x

不带正负号的十六进制.使用a至f表示10至15

%%

字面意义的%

%X

不带正负号的十六进制.使用A至F表示10至15

转载于:https://www.cnblogs.com/sunny18/p/8608918.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值