zoukankan      html  css  js  c++  java
  • shell script 之三:打印输出 echo printf

    echo命令

    1.显示普通字符串:

    echo "It is a test"
    It is a test

     

    2:显示换行

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

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

    3.显示不换行 c

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

       

    4.显示颜色 -e

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

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

     

    printf命令

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

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

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

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

      

    例一:

    printf "%.5d
    "   123
    
    00123     

    例二:

    printf "%.10s
    " "this is a test!"
    
    this is a    # !号需要转义,另外空格也算一位

    例三: 

    printf "%.2f
    " 123456
    123456.00

     

    printf的转义序列

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

  • 相关阅读:
    java:transient是什么,有什么作用
    如何阅读java源码
    java里面list是引用的好例子
    sort给文件按照大小排序
    HBase的rowkey排序和scan输出顺序
    记录一次事故——idea,sbt,scala
    一个简单的synchronized多线程问题、梳理与思考
    Android TextView文字描边的实现!!
    android中include标签的使用
    layout_weight 的解释及使用
  • 原文地址:https://www.cnblogs.com/sunny18/p/8608918.html
Copyright © 2011-2022 走看看