• Shell学习——终端打印


    1、echo
    1.1、默认情况下,echo在每次调用后会添加一个换行符
    1.2、待打印的内容,可以用单引号、双引号或者直接打印,不同的方式,有各自的限制
    1.2.1、使用不带引号的echo时,没法打印分好(;),因为分号在Bash shell中用为命令界定符
    [root@client02 ~]# echo hello world;
    hello world
    [root@client02 ~]# echo 'hello world;'
    hello world;
    [root@client02 ~]#
    1.2.2、特殊字符在使用双引号打印时,需要加上转义字符
    [root@client02 ~]# echo hello world !
    hello world !
    [root@client02 ~]# echo 'hello world !'
    hello world !
    [root@client02 ~]# echo "hello world !"
    echo "hello world ","logger":"me.ele.acct.comm.biz.aop.MethodInvokeSection","sdatetime":"2018-08-17 14:07:53.075","datetime":"1534486073076","docker_pid":"22720","host":"xg-mesos-895","subappid":"","app_id":"me.ele.acct.server","seq":"153448607307611392
    >
    > ^C
    [root@client02 ~]#
    1.2.3、变量替换在单引号中无效
    [root@client02 ~]# name=jack
    [root@client02 ~]# echo $name
    jack
    [root@client02 ~]# echo "$name"
    jack
    [root@client02 ~]# echo '$name'
    $name
    1.3、-n选项忽略结尾换行符
    [root@client02 ~]# echo -n hello world
    hello world[root@client02 ~]#
    1.4、-e选项打印转义字符
    [root@client02 ~]# echo -e "1 2 3"
    1 2 3
    [root@client02 ~]#
    2、printf
    2.1、printf使用引用文本或由空格分隔的参数,printf不会自动添加换行符,需要手动添加
    [zhuwan@client02 shell]$ cat printf.sh
    #!/bin/bash
    #file:printf.sh

    printf "%-5s %-10s %-4s " No Name Mark
    printf "%-5s %-10s %-4.2f " 1 Jack 80.3456
    printf "%-5s %-10s %-4.2f " 2 Jeff 77.56
    [zhuwan@client02 shell]$ ./printf.sh
    No Name Mark
    1 Jack 80.35
    2 Jeff 77.56
    [zhuwan@client02 shell]$
    %s %c %d和%f都是格式替换符,对应的参数置于带引号的格式字符串之后
    -标识左对齐,默认是右对齐

  • 相关阅读:
    substr函数
    Oracle 日期处理
    translate函数使用
    nvl函数
    random随机函数
    case语句
    列的拼接
    并行HASH JOIN小表广播问题
    WITH AS 优化逻辑读
    【hihoCoder挑战赛28 A】异或排序
  • 原文地址:https://www.cnblogs.com/pigwan7/p/9593729.html
Copyright © 2020-2023  润新知