Как обойти ограничение оболочки 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 никогда не страдает от этих проблем, но возлагает ответственность на программиста. Это, вероятно, лучше, поскольку автор оболочки не может знать, как любая программа ожидает свои входные данные.