[Python-Dev] subprocess not escaping "^" on Windows

Christian Tismer tismer at stackless.com
Sun Jan 7 13:54:16 EST 2018


By "normal user expectations" I meant the behavior when the builtin commands
were normal programs.

Using "shell=True" is everywhere recommended to avoid, and I believe
we could avoid it by giving them replacements for build-ins.

But I don't care if the shell escaping is correct. And that is not
trivial, either.

On 07.01.18 18:22, Guido van Rossum wrote:
> On Sun, Jan 7, 2018 at 8:17 AM, Christian Tismer <tismer at stackless.com
> <mailto:tismer at stackless.com>> wrote:
> 
>     As a side note: In most cases where shell=True is found, people
>     seem to need evaluation of the PATH variable. To my understanding,
> 
>     >>> from subprocess import call
>     >>> call(("ls",))
> 
>     works in Linux, but (with dir) not in Windows. But that is misleading
>     because "dir" is a builtin command but "ls" is not. The same holds for
>     "del" (Windows) and "rm" (Linux).
> 
>     So I thought that using shell=True was a good Thing on windows,
>     but actually it is the start of all evil.
>     Using regular commands like "git" works fine on Windows and Linux
>     without the shell=True parameter.
> 
>     Perhaps it would be a good thing to emulate the builtin programs
>     in python by some shell=True replacement (emulate_shell=True?)
>     to match the normal user expectations without using the shell?
> 
> 
> That feels like a terrible idea to me. How do you define "normal user
> expectations" here? If people want shell builtins they should just use
> shell=True. (Also note IIUC there are several quite different shells
> commonly used on Windows, e.g. PowerShell.)
> 
> -- 
> --Guido van Rossum (python.org/~guido <http://python.org/~guido>)


-- 
Christian Tismer-Sperling    :^)   tismer at stackless.com
Software Consulting          :     http://www.stackless.com/
Karl-Liebknecht-Str. 121     :     https://github.com/PySide
14482 Potsdam                :     GPG key -> 0xFB7BEE0E
phone +49 173 24 18 776  fax +49 (30) 700143-0023

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 496 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/python-dev/attachments/20180107/47496697/attachment-0001.sig>


More information about the Python-Dev mailing list