不能不懂脚本

“The parameter list is too long”,你该怎么办

当你在执行shell命令时,如果遇到类似“The parameter list is too long”的错误提示,那么往往是因为你的通配符匹配的文件太多而导致的。比如 rm -f *.*,而且正好你的当前目录下又有超多的文件。

原来,每一个shell都有自己的系统限制值,我们可以用getconf命令来获取到这些值。

$ getconf ARG_MAX
131072

这个就是shell对通配符匹配的限制了,单位是字节,也就是说参数字节长度最大是13万1千零72字节。超过这个长度,就会受到上述的报警了:)

解决方法是:不用rm,改用find . -name “*.*” -exec rm -f {} \;命令。

over~

3条评论

  1. The parameter list is too long的问题以前也遇到过,也是采取迂回的方法解决,不过这才知道真正的原因。不过没有明白同样是用通配符查找,为什么用find命令就不会超过上限?

发表您的评论

请您放心,您的信息会被严格保密。必填项已标识 *