请教下

sh/bash/dash/ksh/zsh等Shell脚本
回复
qscf_520
帖子: 9
注册时间: 2007-01-29 14:46

请教下

#1

帖子 qscf_520 » 2010-06-02 14:25

subsys=${i#/etc/rc.run/S??}
看不明白${ } 、i# 、s??(代表sxx)?
请指教下
头像
suncanoe
帖子: 476
注册时间: 2005-12-07 0:17
来自: 昆明

Re: 请教下

#2

帖子 suncanoe » 2010-06-02 14:38

${ } 好像是定义一个函数
Two wrongs do not make a right.
blog: http://hi.baidu.com/bookpage
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 请教下

#3

帖子 aerofox » 2010-06-02 22:22

以下摘自 man bash 的输出:

代码: 全选

       ${parameter#word}
       ${parameter##word}
              word 被扩展为一个模式,就像路径扩展中一样。如果这 个 模 式 匹 配
              parameter  的值的起始,那么扩展的结果是将 parameter 扩展后的值中
              ,最短的匹配 (‘‘#’’ 的情况) 或者最长的匹配 (‘‘##’’的情况) 删除的
              结果。如果 parameter 是 @ 或者是 *, 则模式删除操作将依次施用于每
              个位置参数,最后扩展为结果的列表。如果 parameter 是一个数组变 量
              , 下标是 @ 或者是 *, 模式删除将依次施用于数组中的每个成员,最后
              扩展为结果的列表。
套一下公式就可以得出结论:从变量 i 的值中去掉开头的“/etc/rc.run/S”及紧接着的两个字符,结果赋给变量 subsys。
qscf_520
帖子: 9
注册时间: 2007-01-29 14:46

Re: 请教下

#4

帖子 qscf_520 » 2010-06-03 8:29

aerofox 谢谢
回复