0
subprocess.call(["find", ".", "-exec", "sh", "-c", "echo testFirst", ";"])
subprocess.call(["find", ".", "-exec", "sh", "-c", "echo testSecond", ";"], shell=True)
subprocess.call(["find . -exec sh -c 'echo testThird' \\;"], shell=True)
subprocess.call(["find", ".", "-exec", "sh", "-c", "touch testFirst", ";"])
subprocess.call(["find", ".", "-exec", "sh", "-c", "touch testSecond", ";"], shell=True)
subprocess.call(["find . -exec sh -c 'touch testThird' \\;"], shell=True)
Die folgenden Ausgaben:Seltsam subprocess Verhalten
testFirst
testFirst
testFirst
.
./test.py
./data
testThird
testThird
testThird
.
./test.py
./testFirst
./data
Und nur testFirst
und testThird
Dateien erstellt.
Was ist die Erklärung für das Verhalten?
Ich würde davon ausgehen, Ausgabe von testFirst
, testSecond
, testThird
sowie die drei Dateien erstellt werden.
Warum brauchen Sie die ersten 4 Argumente? –
Dies ist nicht mein tatsächlicher Code, ich habe ihn nur eingegrenzt, um das Problem zu demonstrieren. –