一个通配符引起的错误

通配符的意思。我想 没有几个人不会的。比如*代表任意数量的任意字符。?代表一个任意字符。。但是在使用中却有时会经常出错。。特别是在命令行上运行时

我们知道shell 的参数解析是“-”,也就是说把“-”开头或“--”当作是参数。。这可和Win的“/”个不同。。

也就是这个问题。。我想把我的全部文件扩展名改改。。很简单吧。。用rename命令啊。。比如把txt改成sh。。则就这样吧 rename s/\.txt$/\.sh/  *  问题就在这个通配符* 上,,我试了n次还是说我的rename有参数不正确。。我就不知道哪里有错了。我man 了下rename 。。根本就没有错嘛!!!

我郁闷了。。然后试试ls * ,还是有错!!难道有bug吗?

结果btw过来看了下。。原来是错在* 啊。。。我当时刚好有个文件以“-” 开头。。我也不知道当时怎么会有这个文件。。郁闷死了。。那* 解析出来肯定会有个类似这样的“-xxx”,这就会解析成参数啦。。所以当然有错了。。

所以虽然平时都知道*的作用。。但有时却会忽视它。。。造成很大的错误。。以后注意点点啊!!!!

转载于:https://www.cnblogs.com/int32bit/archive/2011/08/03/3187820.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值