shell内置变量.docxVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
shell内置变量

特殊的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文件与一个终端相关联-N从这个文件最后一次被读取之后, 它被修改过F1 -nt F2文件F1比文件F2新 *-O这个文件的宿主是你F1 -ot F2文件F1比文件F2旧 *-G文件的组id与你所属的组相同F1 -ef F2文件F1和文件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:length}在$string中, 从位置$position开始提取长度为$length的子串${string#substring}从变量$string的开头, 删除最短匹配$substring的子串${string##substring}从变量$string的开头, 删除最长匹配$substring的子串${string%substring}从变量$string的结尾, 删除最短匹配$substring的子串${string%%substring}从变量$string的结尾, 删除最长匹配$substring的子串${string/substring/replacement}使用$replacement, 来代替第一个匹配的$substring${string//substring/replacement}使用$replacement, 代替所有匹配的$substring${string/#substring/replacement}如果$string的前缀匹配$substring, 那么就用$replacement来代替匹配到的$substring${string/%substring/replacement}如果$string的后缀匹配$substring, 那么就用$replacement来代替匹配到的$sub

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档