LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 896|回复: 4

请问这个表达式是什么意思?

[复制链接]
发表于 2003-10-14 14:12:33 | 显示全部楼层 |阅读模式
脚本:
for foo in *
do
  var=${foo#./*}
  echo $var
done
请问这里的${foo#./*}什么意思?
谢谢
发表于 2003-10-14 14:21:38 | 显示全部楼层

${变量#模式}:变量值的最小头部与模式匹配并删除它

在${foo#./*}中,foo是变量,./*是匹配的模式
 楼主| 发表于 2003-10-14 14:30:40 | 显示全部楼层
谢谢javalee, 能给个例子吗?
我运行这个脚本没有感觉出它的作用来。
还有,什么叫变量的最小头部?
发表于 2003-10-14 14:53:09 | 显示全部楼层
me too
我没找到现成的例子,不过你可以参考一下他的用法:
  1. [/home/javalee/myshell]var="./abc"
  2. [/home/javalee/myshell]echo ${var#./*}
  3. abc
复制代码
发表于 2003-10-14 15:29:20 | 显示全部楼层
  1. 子串最小头部匹配:
  2. [/home/javalee/myshell]path="/a/b/c/d/f"
  3. [/home/javalee/myshell]echo ${path#/}
  4. a/b/c/d/f
  5. 子串最大头部匹配:
  6. [/home/javalee/myshell]echo ${path##*/}
  7. f
复制代码
看出区别了吧~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表