摘要: subShell 是一群被括在圆括号里的命令,这些命令会在另外的进程里执行。当你需要让一组命令在不同的目录下执行时,这种方法可以让你不修改主脚本的目录。例; 将某个目录树通过管道复制到另外一个地方。tar -cf - . | (cd /newdir; tar -xpf - )代码块概念上与subSh... 阅读全文
posted @ 2014-04-19 22:09 赵翔 阅读(1859) 评论(0) 推荐(0) 编辑
摘要: ${var:-word},var存在且非null,则返回其值,否则返回word。即变量未定义返回默认值。${var:=word},var存在且非null,则返回其值,否则将var设置为word并返回word。即变量未定义测设为默认值。${var:?errormsg},var存在且非null,则返回其... 阅读全文
posted @ 2014-04-19 21:23 赵翔 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 变量赋值时,'='左右都不能有空格。 语句结尾不需要分号;除了在变量赋值和for循环语句头中,bash中的变量使用必须在变量前加"$";以单引号括起来的变量将不被解释为变量,如'$str'被解释为字符串。1, 反斜杠当命令接收含有元字符如$,*,?等的参数时,就必须将这些元字符用引号引起来。可以用反... 阅读全文
posted @ 2014-04-19 10:25 赵翔 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 1. bash把[[$a -lt $b]]看做一个单独的元素,并返回一个退出状态码。 ((...))和let ...也能够返回退出状态码,当他们所测试的算术表达式的结果为非零时,返回退出状态码0.2. [[...]]比[...]更通用,使用[[...]]能够防止许多逻辑错误,比如&&,||,操作符... 阅读全文
posted @ 2014-04-19 10:12 赵翔 阅读(115) 评论(0) 推荐(0) 编辑