得之我幸 失之我命

when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.

shell 对变量的不同状态进行赋值

一个变量有三种可能的状态:未设定,空值,非空值,针对这三种情况,shell 可以进行不同的操作

  • ${file-my.file.txt}

    如果 file 未设定,则使用 my.file.txt 作为返回值,否则返回 ${file} (空值及非空值时,不作处理)

  • ${file:-my.file.txt}

    如果 file 未设定或者 ${file} 为空值,均使用 my.file.txt 作为其返回值,否则,返回 ${file} (${file} 为非空值时,不作处理)

  • ${file+my.file.txt}

    如果 file 已设定(为空值或非空值),则使用 my.file.txt 作为其返回值,否则不作处理 (未设定时,不作处理)

  • ${file:+my.file.txt}

    如果 ${file} 为非空值,则使用 my.file.txt 作为其返回值,否则,(未设定或者为空值时) 不作处理

  • ${file=my.file.txt}

    如果 file 未设定,则将 file 赋值为 my.file.txt,同时将 ${file} 作为其返回值;否则,file 已设定(为空值或非空值),则返回 ${file}

  • ${file:=my.file.txt}

    如果 file 未设定或者 ${file} 为空值,则 my.file.txt 作为其返回值,同时,将 ${file} 赋值为 my.file.txt,否则,(非空值时)不作处理

  • ${file?my.file.txt}

    如果 file 未设定,则将 my.file.txt 输出至 STDERR,否则,已设定(空值与非空值时),不作处理

  • ${file:?my.file.txt}

    如果 file 未设定或者为空值,则将 my.file.txt 输出至 STDERR,否则,非空值时,不作任何处理

be yourself,everyone else is already taken.