Ich versuche rekursiv nach einem String zu suchen grep, bekomme aber folgendes:
$ grep -r "stuff" *
grep: unrecognized option '---corporate-discount.csv'
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
Wie kann ich verhindern, dass Bash Dateien übergibt, die mit -als Argument beginnen?
grepdass es sich nicht um Optionen handelt.
subprocess.Popen(['grep', '-r', '-e' 'stuff', '--corporate-discount.csv'])in Python erhalten, wenn nirgendwo eine Bash stattfindet.
*in-Befehlen verursacht werden können. ALLE diese können vermieden werden, indem man ./*stattdessen verwendet.
--als End-of-Options-Siegel ist ebenfalls absolut sinnvoll. Nach den Richtlinien für die POSIX-Dienstprogrammsyntax muss diese eingehalten werden. siehe Leitlinie # 10. (Sicher, nicht alle Programme folgen den POSIX-Richtlinien, aber die Antwort ist, die Autoren der beleidigenden Programme zu reihen und / oder sie aus der Branche zu werfen.)