Wie umgeht man die Shell-Einschränkung „Argumentliste zu lang“?

Wie umgeht man die Shell-Einschränkung „Argumentliste zu lang“?

Wie kann ich die Bash-Shell-Einschränkung „Argumentliste zu lang“ umgehen, wenn ich Platzhalter für Dateinamen verwende, die auf eine Vielzahl von Dateien in /tmp/? passen?

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

Antwort1

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

Antwort2

Dies ist etwas einfacher als jáquer vorgeschlagen hat:

find /tmp -name "myLocalFiles*" -delete

Antwort3

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

Antwort4

Sie können Weine verwendencmd

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

Die Shell-Erweiterung funktioniert hervorragend, hat aber einige Einschränkungen. Die Windows-Konvention leidet nie unter diesen Problemen, sondern überträgt die Verantwortung auf den Programmierer. Das ist wahrscheinlich besser, da der Autor der Shell nicht wissen kann, wie ein Programm seine Eingabedaten erwartet.

verwandte Informationen