Как обойти ограничение оболочки «Слишком длинный список аргументов»?

Как обойти ограничение оболочки «Слишком длинный список аргументов»?

Как обойти ограничение оболочки bash «Слишком длинный список аргументов» при использовании подстановочных знаков в именах файлов, которые соответствуют множеству файлов в /tmp/?

[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

Вы можете использовать винаcmd

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

Расширение оболочки работает отлично, но у него есть некоторые оговорки. Соглашение Windows никогда не страдает от этих проблем, но возлагает ответственность на программиста. Это, вероятно, лучше, поскольку автор оболочки не может знать, как любая программа ожидает свои входные данные.

Связанный контент