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.

posted @ 2015-10-30 12:22  仙守  阅读(148)  评论(0编辑  收藏  举报