1,变量ft赋值错误;按照你的写法,ft的结果是:file /etc,因为等式右边加的是单引号,是字符串原样赋值,而并没有取到file这个命令到结果,正确写法是:ft=$(file "$NAME")
2,第二个问题是格式问题,小问题。case语句中的备选项,如“$NAME:directory”,冒号后要加一个空格,因为file /etc这条命令的结果是/etc: directory,注意冒号后面是有一个空格的,所以case语句中到备选项格式要与之匹配。
由于你写的程序有这两个错误,解释执行时,会转到case语句中到最后一项输出,即输出:/etc is Other file type
我所说到已经经过本人亲自测试,所用系统为Fedora 12.
希望能帮到你。
换成这个试试字符类 [:lower:]小写和[:upper:]大写[a-z][A-Z]这种写会被系统当成是一样的,不区分大小写。
你也可以重置所有的本地化设置LC_ALL=C
这样脚本的正则表达式可以正确识别
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)