[Python-Dev] subprocess shell=True on Windows doesn't escape ^ character (original) (raw)
Nikolaus Rath Nikolaus at rath.org
Fri Jun 13 04:11:07 CEST 2014
- Previous message: [Python-Dev] subprocess shell=True on Windows doesn't escape ^ character
- Next message: [Python-Dev] subprocess shell=True on Windows doesn't escape ^ character
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"R. David Murray" <rdmurray at bitdance.com> writes:
Also notice that using a list with shell=True is using the API incorrectly. It wouldn't even work on Linux, so that torpedoes the cross-platform concern already :)
This kind of confusion is why I opened http://bugs.python.org/issue7839.
Can someone describe an use case where shell=True actually makes sense at all?
It seems to me that whenever you need a shell, the argument's that you pass to it will be shell specific. So instead of e.g.
Popen('for i in seq 42
; do echo $i; done', shell=True)
you almost certainly want to do
Popen(['/bin/sh', 'for i in seq 42
; do echo $i; done'], shell=False)
because if your shell happens to be tcsh or cmd.exe, things are going to break.
Best, -Nikolaus
-- GPG encrypted emails preferred. Key id: 0xD113FCAC3C4E599F Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F
»Time flies like an arrow, fruit flies like a Banana.«
- Previous message: [Python-Dev] subprocess shell=True on Windows doesn't escape ^ character
- Next message: [Python-Dev] subprocess shell=True on Windows doesn't escape ^ character
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]