shell杂记

时间:2021-08-20 19:34:13

(本文将持续更新)从2015年9月25日开始正式学习linux类的东西。

书籍入门:UNIX.Shell编程24学时教程(中文版)、Linux与UNIX Shell编程指南、shell十三问、LINUX SHELL脚本攻略、Shell脚本专家指南。

对于变量替换来说,就有点让人总是搞混掉。当符合下面标准则进行替换,否则结果如同${parameter}主要有8个:

变量名称 语法 解释 例子
:? ${parameter:?var} parameter为空或者未定义,则输出var到stderr,parameter值不更新 shell杂记shell杂记
${parameter?var} parameter未定义,则输出var到stderr,parameter值不更新 shell杂记shell杂记
:- ${parameter:-var} parameter为空或者未定义,则整个语句取值var,parameter值不更新 shell杂记shell杂记
- ${parameter-var} parameter未定义,则整个语句取值var,parameter值不更新 shell杂记shell杂记
:= ${parameter:=var} parameter为空或者未定义,则整个语句取值var,parameter值更新为var shell杂记shell杂记
= ${parameter=var} parameter未定义,则整个语句取值var,parameter值更新为var shell杂记shell杂记
:+ ${parameter:+var} parameter定义了且不为空,则整个语句取值var,parameter值不更新 shell杂记shell杂记shell杂记
+ ${parameter+var} parameter定义了,则整个语句取值var,parameter值不更新 shell杂记shell杂记shell杂记

20160907:’nohup main &’ is not equal ‘nohup main&’;the second will not create the ‘nohup.out’ file in the current directory.