[New-bugs-announce] [issue38690] Command line option with &/or without a space results in the same outcome
jason gors
report at bugs.python.org
Mon Nov 4 19:04:16 EST 2019
New submission from jason gors <jason.gors at gmail.com>:
The syntax in the Command line documentation was unexpected regarding the `-m` option (specifically `python -mtimeit`) [0]. Showing this:
```
python -mtimeit "range(100)"
# behaving equivalent to this:
python -m timeit "range(100)"
```
This led me to discover many cases where command line arguments are like this in python (e.g. the call working correctly without a space between an argument flag and what is being passed into the command). Like this:
```
python -c"print('Hi')"
# behaving the same as:
python -c "print('Hi')"
```
This is also the case with pip as well:
```
pip install -rrequirements.txt
# behaving exactly like:
pip install -r requirements.txt
```
However, when I think of the *nix commands, like `rm`, this behavior fails. When you want to pass several flags at once, you can either list them separately (e.g. `rm -f -i myfile.py`) or concatenate them together (e.g. `rm -fi myfile.py`), but `rm` fails if you try calling it without a space between the argument(s) and the file to be removed (e.g.`rm -fimyfile.py`).
I'm not sure whether this command line behavior in python is intentional, but it's not obvious as to why this is the case.
[0] https://docs.python.org/3/using/cmdline.html#cmdoption-m
----------
components: Library (Lib)
messages: 355985
nosy: jgors
priority: normal
severity: normal
status: open
title: Command line option with &/or without a space results in the same outcome
type: behavior
versions: Python 2.7, Python 3.5, Python 3.6, Python 3.7, Python 3.8, Python 3.9
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue38690>
_______________________________________
More information about the New-bugs-announce
mailing list