LinuxSir.cn,穿越时空的Linuxsir!

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

CMD=${0##*/} 这个是什么意思?

[复制链接]
发表于 2008-10-29 10:43:18 | 显示全部楼层 |阅读模式
看前人写得脚本发现这么一句
CMD=${0##*/}
那位知道什么意思?
发表于 2008-10-29 11:57:51 | 显示全部楼层
  1. root@slax:~# a=`which find`
  2. root@slax:~# echo $a
  3. /usr/bin/find
  4. root@slax:~# echo ${a##*/}
  5. find
复制代码

明白了吗?就是从左到右匹配到最后的 ‘/’,然后返回剩余部分。
man bash, search 'Parameter Expansion'
回复 支持 反对

使用道具 举报

发表于 2008-10-29 12:13:05 | 显示全部楼层
子串削除,削除右边最长的一个匹配
具体看ABS第9章:变量重游。
回复 支持 反对

使用道具 举报

发表于 2008-10-31 11:23:44 | 显示全部楼层
相当于
CMD=$(basename $0)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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