如何解决‘参数列表太长’的 shell 限制?

如何解决‘参数列表太长’的 shell 限制?

当使用与 /tmp/ 中的大量文件匹配的文件名通配符时,如何解决 bash shell 的“参数列表太长”限制?

[my-centos4 tmp] rm -rf /tmp/myLocalFiles*
bash: /bin/rm: Argument list too long

答案1

for i in myLocalFiles*; do rm -f $i; done

答案2

这比 jáquer 建议的要简单一些:

find /tmp -name "myLocalFiles*" -delete

答案3

find /tmp -name "myLocalFiles*" -exec rm -rf {} +

答案4

您可以使用 Winescmd

wine cmd
del "Z:\tmp\myLocalFiles*"
exit

Shell 扩展效果很好,但也有一些注意事项。Windows 惯例从来不会遇到这些问题,而是把责任放在程序员身上。这可能更好,因为 shell 的编写者无法知道任何程序如何期望其输入数据。

相关内容