• shell 中"${b2}" and "${b:2}"


    在看 学习shell中练习的代码

    #!/bin/bash
    # User can keyin filename to touch
    3 new files.
    PATH
    =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
    export PATH

    echo
    "I will use 'touch' command to create 3 files."
    read
    -p "Please input the filename what you want: " fileuser

    filename
    =${fileuser:+"filename"}

    date1
    =`date --date='2 days ago' +%Y%m%d`
    date2
    =`date --date='1 days ago' +%Y%m%d`
    date3
    =`date +%Y%m%d`

    file1
    ="$filename""$date1"
    file2
    ="$filename""$date2"
    file3
    ="$filename""$date3"

    touch $file1
    touch $file2
    touch $file3

    中的 filename=${fileuser:+"filename"}对于:+不是很明白,然后查了下用法。

    lx@ubuntu:~/bsh/scripts$ b=""
    lx@ubuntu:~/bsh/scripts$ c="Z"
    lx@ubuntu:~/bsh/scripts$ echo a=${a-1}, b=${b-2}, c=${c-3}
    a=1, b=, c=Z
    lx@ubuntu:~/bsh/scripts$ echo a=${a:-1}, b=${b:-2}, c=${c:-3}
    a=1, b=2, c=Z
    lx@ubuntu:~/bsh/scripts$ 
    

    +----------------------------------------------------------------------+
    |Form		     Meaning					       
    +----------------------------------------------------------------------+
    |${variable:?word}   Complain if undefined or null		       
    |${variable:-word}   Use new value if undefined or null		       
    |${variable:+word}   Opposite of the above			       
    |${variable:=word}   Use new value if undefined or null, and redefine. 
    +----------------------------------------------------------------------+


  • 相关阅读:
    spark学习进度18(SparkSQL读写)
    查看及修改centos的系统时间
    第3章 串
    linux就该这么学 简介
    1 快速入门
    rocketMQ实战与原理解析 简介
    绪论
    数据结构java版 第4版 叶核亚著 简介
    数据结构java语言版 简介
    数据结构与问题求解java版 简介
  • 原文地址:https://www.cnblogs.com/lxgeek/p/1962380.html
Copyright © 2020-2023  润新知