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 <tis...@stackless.com > <mailto:tis...@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 :^) tis...@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
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com