LoverOfLinux 发表于 2005-4-19 11:48:06

关于bash角本:这样匹配字符串,怎么会匹配失败呢

--------------------------------------------------------------------------------


想用“.*”来匹配./ 或者 ../
if [ "$1" = “.*” ];then ##given path like ./ or ../
想用"$i"="*.EXE;*" -o "$i"="*.OBJ;*" -o "$i"="*.MAP;*" -o "$i"="*.LIS;*" -o "$i"="MAKEFILE*" 来匹配类似的:q.EXE;11 hello.OBJ;84 su.LIS;89 这样的文件名
if [ "$i"="*.EXE;*" -o "$i"="*.OBJ;*" -o "$i"="*.MAP;*" -o "$i"="*.LIS;*" -o "$i"="MAKEFILE*" ] ; then ##Delete file like that kind .
if [ "$i"="*.EXE\;*" -o "$i"="*.OBJ\;*" -o "$i"="*.MAP\;*" -o "$i"="*.LIS\;*"
-o "$i"="MAKEFILE*" ] ; then ##Delete file like that kind .

唉,哪怕能匹配上含有;号的文件名也好呀
elif [ "$i"="*\;*" ];then
## file has unstandard name,rename it to confirm the rule

以上匹配均失败,查了半天的资料还是没有找到原因,哪位高手指点一下吧

另附源程序:myScript.sh(.rar)

watch_1394 发表于 2005-4-20 08:10:41

正则表达式和shell变量扩展是有很大区别的,我看了你的脚本,应该就是这方面的问题。你可以尝试用shell的字符扩展来达到你的目的,只要能够解决问题就可以了嘛。

zhangzhaoao 发表于 2005-4-20 15:08:01

:twisted:
页: [1]
查看完整版本: 关于bash角本:这样匹配字符串,怎么会匹配失败呢