3 ms·
In a xonsh script, you can have regular statements like "cd", "ls", and pretty much everything. It's just like Bash scripting, except in Python. You can mix an
by BeetleB 2y ago
In a xonsh script, you can have regular statements like "cd", "ls", and pretty much everything.
It's just like Bash scripting, except in Python. You can mix and match Python statements with regular shell commands.
- echoangle 2y agoI have never tried it but I would probably prefer to use sh ( https://pypi.org/project/sh/ https://pypi.org/project/sh/ ) and have users install that before having to use a totally separate shell. Python is normally already there.
- BeetleB 2y agoCursory look at the docs: sh.ls("-l", "/tmp", color="never") Oh dear - no. A lot less ergonomic than "ls -l /tmp". If all you want is a convenient way to call commands from Python scripts, sh makes sense. The benefit of xonsh, though, is that it is a shell :-) So, for example, if you want to have a fancy prompt, you can use Python functions to construct your fancy prompt. If you want to manipulate your $PATH as a list (or any similar environment variable), you just treat it like a Python list and do whatever you want with it. I often write simple conditionals/for loops right on the prompt (not via a shell script). I use the Python syntax, but call whatever command I want and manipulate it. And it's really handy that the shell prompt is a Python prompt - you can import any Python library and play with it. I never run "python" to get to a Python prompt. I have it available at all times. I want to look at a docstring for a standard Python function? I just do it at the command line.