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 可以进行不同的操作
${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.