shell杂记
(本文将持续更新)从2015年9月25日开始正式学习linux类的东西。
书籍入门:UNIX.Shell编程24学时教程(中文版)、Linux与UNIX Shell编程指南、shell十三问、LINUX SHELL脚本攻略、Shell脚本专家指南。
对于变量替换来说,就有点让人总是搞混掉。当符合下面标准则进行替换,否则结果如同${parameter}主要有8个:
变量名称 | 语法 | 解释 | 例子 |
---|---|---|---|
:? | ${parameter:?var} | parameter为空或者未定义,则输出var到stderr,parameter值不更新 | |
? | ${parameter?var} | parameter未定义,则输出var到stderr,parameter值不更新 | |
:- | ${parameter:-var} | parameter为空或者未定义,则整个语句取值var,parameter值不更新 | |
- | ${parameter-var} | parameter未定义,则整个语句取值var,parameter值不更新 | |
:= | ${parameter:=var} | parameter为空或者未定义,则整个语句取值var,parameter值更新为var | |
= | ${parameter=var} | parameter未定义,则整个语句取值var,parameter值更新为var | |
:+ | ${parameter:+var} | parameter定义了且不为空,则整个语句取值var,parameter值不更新 | |
+ | ${parameter+var} | parameter定义了,则整个语句取值var,parameter值不更新 |
20160907:’nohup main &’ is not equal ‘nohup main&’;the second will not create the ‘nohup.out’ file in the current directory.