如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
参考卡片表格B-1.特殊的shell变量变量含义$0脚本名字$1位置参数#1$2-$9位置参数#2-#9${10}位置参数#10$#位置参数的个数"$*"所有的位置参数(作为单个字符串)*"$@"所有的位置参数(每个都作为独立的字符串)${#*}传递到脚本中的命令行参数的个数${#@}传递到脚本中的命令行参数的个数$?返回值$$脚本的进程ID(PID)$-传递到脚本中的标志(使用set)$_之前命令的最后一个参数$!运行在后台的最后一个作业的进程ID(PID)*必须被引用起来,否则默认为"$@".表格B-2.测试操作:二元比较操作描述-----操作描述算术比较字符串比较-eq等于=等于==等于-ne不等于!=不等于-lt小于\<小于(ASCII)*-le小于等于-gt大于\>大于(ASCII)*-ge大于等于-z字符串为空-n字符串不为空算术比较双括号((...))结构>大于>=大于等于<小于<=小于等于*如果在双中括号[[...]]测试结构中使用的话,那么就不需要使用转义符\了.表格B-3.文件类型的测试操作操---测试条件操作测试条件作---e文件是否存在-s文件大小不为0-f是一个标准文件-d是一个目录-r文件具有读权限-h文件是一个符号链接-w文件具有写权限-L文件是一个符号链接-x文件具有执行权限-b文件是一个块设备-c文件是一个字符设备-g设置了sgid标记-p文件是一个管道-u设置了suid标记-S文件是一个socket-k设置了"粘贴位"-t文件与一个终端相关联从这个文件最后一次被读取之后,它F1-nt-N文件F1比文件F2新*被修改过F2F1-ot-O这个文件的宿主是你文件F1比文件F2旧*F2F1-ef文件F1和文件F2都是同一个文件-G文件的组id与你所属的组相同F2的硬链接*!"非"(反转上边的测试结果)*二元操作符(需要两个操作数).表格B-4.参数替换和扩展表达式含义${var}变量var的值,与$var相同${var-DEFAULT}如果var没有被声明,那么就以$DEFAULT作为其值*${var:-DEFAULT}如果var没有被声明,或者其值为空,那么就以$DEFAULT作为其值*${var=DEFAULT}如果var没有被声明,那么就以$DEFAULT作为其值*${var:=DEFAULT}如果var没有被声明,或者其值为空,那么就以$DEFAULT作为其值*${var+OTHER}如果var声明了,那么其值就是$OTHER,否则就为null字符串${var:+OTHER}如果var被设置了,那么其值就是$OTHER,否则就为null字符串${var?ERR_MSG}如果var没被声明,那么就打印$ERR_MSG*${var:?ERR_MSG}如果var没被设置,那么就打印$ERR_MSG*${!varprefix*}匹配之前所有以varprefix开头进行声明的变量${!varprefix@}匹配之前所有以varprefix开头进行声明的变量*当然,如果变量var已经被设置的话,那么其值就是$var.表格B-5.字符串操作表达式含义${#string}$string的长度${string:position}在$string中,从位置$position开始提取子串在$string中,从位置$position开始提取长度为${string:position:length}$length的子串从变量$string的开头,删除最短匹配$substring${string#substring}的子串从变量$string的开头,删除最长匹配$substring${string##substring}的子串从变量$string的结尾,删除最短匹配$substring${string%substring}的子串从变量$string的结尾,删除最长匹配$substring${string%%substring}的子串使用$replacement,来代替第一个匹配的${string/substring/replacement}$substring${string//substring/replacement}使用$replacement,代替所有匹配的$substring如果$string的前缀匹配$substring,那么就用${string/#substring/replacement}$replacement来代替匹配到的$substring如果$stri