2015-03-07 18:58:14 -06:00
|
|
|
|
the xonsh shell
|
|
|
|
|
===============
|
|
|
|
|
|
|
|
|
|
.. raw:: html
|
|
|
|
|
|
|
|
|
|
<p style="text-align:center;">
|
|
|
|
|
<span style="font-family:Times;font-size:28px;font-style:normal;font-weight:normal;text-decoration:none;text-transform:none;font-variant:small-caps;color:000000;">
|
|
|
|
|
~
|
|
|
|
|
<script>
|
2015-03-08 22:48:34 -05:00
|
|
|
|
var taglines = [
|
2015-03-07 18:58:14 -06:00
|
|
|
|
"Exofrills in the shell",
|
|
|
|
|
"No frills in the shell",
|
|
|
|
|
"Become the Lord of the Files",
|
|
|
|
|
"Break out of your shell",
|
2015-03-07 22:41:47 -06:00
|
|
|
|
"The only shell that is also a shell",
|
|
|
|
|
"All that is and all that shell be",
|
2015-03-07 23:35:08 -06:00
|
|
|
|
"It cannot be that hard",
|
2015-03-07 23:22:13 -06:00
|
|
|
|
"Pass the xonsh, Piggy",
|
2015-03-07 22:41:47 -06:00
|
|
|
|
"Piggy glanced nervously into hell and cradled the xonsh",
|
|
|
|
|
"The xonsh is a symbol",
|
2015-03-07 23:22:13 -06:00
|
|
|
|
"It is pronounced <i>konk</i>",
|
|
|
|
|
"It is pronounced <i>conch</i>",
|
2015-03-08 16:58:10 -05:00
|
|
|
|
"It is pronounced <i>quanxh</i>",
|
2015-03-09 13:51:54 -05:00
|
|
|
|
"It is pronounced <i>zonsch</i>",
|
2015-08-02 11:38:50 -05:00
|
|
|
|
"It is pronounced <i>jeaunsch</i>",
|
2015-11-29 13:34:01 -05:00
|
|
|
|
"It is pronounced <i>măjˈĭk</i>",
|
2015-03-07 18:58:14 -06:00
|
|
|
|
"The shell, bourne again",
|
2015-03-08 00:32:17 -06:00
|
|
|
|
"Snailed it",
|
2015-03-07 18:58:14 -06:00
|
|
|
|
"Starfish loves you",
|
2015-03-07 23:22:13 -06:00
|
|
|
|
"Come snail away",
|
2015-03-08 00:32:17 -06:00
|
|
|
|
"This is Major Tom to Ground Xonshtrol",
|
2015-03-07 18:58:14 -06:00
|
|
|
|
"Sally sells csh and keeps xonsh to herself",
|
2015-03-10 01:25:29 -05:00
|
|
|
|
"Nice indeed. Everything's accounted for, except your old shell.",
|
2015-08-02 11:38:50 -05:00
|
|
|
|
"I wanna thank you for putting me back in my snail shell.",
|
2016-02-09 02:36:57 -05:00
|
|
|
|
"Crustaceanly Yours",
|
2016-02-10 11:08:42 -08:00
|
|
|
|
"With great shell comes great reproducibility",
|
|
|
|
|
"None shell pass",
|
2016-02-21 10:15:23 -08:00
|
|
|
|
"The x-on shell",
|
2016-02-25 18:23:30 -05:00
|
|
|
|
"It is pronounced <i>コンチ</i>",
|
|
|
|
|
"It is pronounced <i>コンッチ</i>",
|
|
|
|
|
"It is pronounced <i>コンシュ</i>",
|
2015-03-07 18:58:14 -06:00
|
|
|
|
];
|
2015-03-08 22:48:34 -05:00
|
|
|
|
document.write(taglines[Math.floor(Math.random() * taglines.length)]);
|
2015-03-07 18:58:14 -06:00
|
|
|
|
</script>
|
|
|
|
|
~
|
|
|
|
|
<br />
|
|
|
|
|
<br />
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
|
2015-09-12 19:57:50 -04:00
|
|
|
|
Xonsh is a Python-ish, BASHwards-looking shell language and command prompt.
|
|
|
|
|
The language is a superset of Python 3.4+ with additional shell primitives
|
|
|
|
|
that you are used to from Bash and IPython. It works on all major systems including
|
|
|
|
|
Linux, Mac OSX, and Windows. Xonsh is meant for the daily use of experts and novices
|
|
|
|
|
alike.
|
2015-03-07 18:58:14 -06:00
|
|
|
|
|
2015-03-08 23:55:10 -05:00
|
|
|
|
**At a glance**
|
|
|
|
|
|
|
|
|
|
.. raw:: html
|
|
|
|
|
|
2015-09-12 18:58:50 -04:00
|
|
|
|
<p style="text-align:center;"><script type="text/javascript"
|
|
|
|
|
src="https://asciinema.org/a/9kp21a67ahhng25wtzoep3pyx.js"
|
|
|
|
|
id="asciicast-9kp21a67ahhng25wtzoep3pyx" async
|
|
|
|
|
data-size="medium" data-speed="2"></script>
|
2015-03-08 23:55:10 -05:00
|
|
|
|
</p>
|
|
|
|
|
|
2015-03-07 18:58:14 -06:00
|
|
|
|
=========
|
|
|
|
|
Contents
|
|
|
|
|
=========
|
2016-02-04 22:37:45 -05:00
|
|
|
|
**Guides:**
|
2015-03-07 18:58:14 -06:00
|
|
|
|
|
|
|
|
|
.. toctree::
|
2015-03-28 12:06:09 -05:00
|
|
|
|
:titlesonly:
|
2015-03-07 18:58:14 -06:00
|
|
|
|
:maxdepth: 1
|
|
|
|
|
|
|
|
|
|
tutorial
|
2015-08-27 09:56:42 -04:00
|
|
|
|
tutorial_hist
|
2016-02-04 22:37:45 -05:00
|
|
|
|
windows
|
|
|
|
|
bash_to_xsh
|
|
|
|
|
|
|
|
|
|
**Configuration & Setup:**
|
|
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
|
:titlesonly:
|
|
|
|
|
:maxdepth: 1
|
|
|
|
|
|
2015-09-12 20:27:21 -04:00
|
|
|
|
xonshrc
|
2015-10-10 23:22:36 -04:00
|
|
|
|
xonshconfig
|
2015-08-29 16:35:46 -04:00
|
|
|
|
envvars
|
2015-08-27 09:56:42 -04:00
|
|
|
|
aliases
|
2016-02-04 22:37:45 -05:00
|
|
|
|
|
|
|
|
|
**Development Spiral:**
|
|
|
|
|
|
|
|
|
|
.. toctree::
|
|
|
|
|
:titlesonly:
|
|
|
|
|
:maxdepth: 1
|
|
|
|
|
|
2015-03-07 18:58:14 -06:00
|
|
|
|
api/index
|
2015-03-28 12:06:09 -05:00
|
|
|
|
devguide/
|
2015-03-07 18:58:14 -06:00
|
|
|
|
previous/index
|
|
|
|
|
faq
|
2015-03-07 23:35:08 -06:00
|
|
|
|
todo
|
2015-03-07 18:58:14 -06:00
|
|
|
|
|
|
|
|
|
============
|
|
|
|
|
Installation
|
|
|
|
|
============
|
2015-03-08 22:33:43 -05:00
|
|
|
|
You can install xonsh using conda, pip, or from source.
|
|
|
|
|
|
|
|
|
|
**conda:**
|
|
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
2015-12-04 11:22:44 +01:00
|
|
|
|
$ conda install -c xonsh xonsh
|
|
|
|
|
|
2016-02-11 09:35:53 +01:00
|
|
|
|
.. note:: For the bleeding edge development version use ``conda install -c xonsh/channel/dev xonsh``
|
2015-12-04 11:22:44 +01:00
|
|
|
|
|
2015-03-08 22:33:43 -05:00
|
|
|
|
|
|
|
|
|
**pip:**
|
|
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
|
|
$ pip install xonsh
|
|
|
|
|
|
|
|
|
|
**source:** Download the source `from github <https://github.com/scopatz/xonsh>`_
|
|
|
|
|
(`zip file <https://github.com/scopatz/xonsh/archive/master.zip>`_), then run
|
|
|
|
|
the following from the source directory,
|
|
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
|
|
$ python setup.py install
|
|
|
|
|
|
2015-11-08 22:32:28 -05:00
|
|
|
|
Arch Linux users can install xonsh from the Arch User Repository with e.g.
|
|
|
|
|
yaourt or aura:
|
2015-07-28 19:29:31 +02:00
|
|
|
|
|
|
|
|
|
**yaourt:**
|
|
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
|
|
$ yaourt -Sa xonsh # yaourt will call sudo when needed
|
|
|
|
|
|
|
|
|
|
**aura:**
|
|
|
|
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
|
|
$ sudo aura -A xonsh
|
|
|
|
|
|
2015-03-08 22:33:43 -05:00
|
|
|
|
If you run into any problems, please let us know!
|
2015-03-07 18:58:14 -06:00
|
|
|
|
|
2015-09-12 19:57:50 -04:00
|
|
|
|
|
|
|
|
|
==========
|
|
|
|
|
Comparison
|
|
|
|
|
==========
|
|
|
|
|
Xonsh is significantly different from most other shells or shell tools. The following
|
|
|
|
|
table lists features and capabilities that various tools may or may not share.
|
|
|
|
|
|
|
|
|
|
.. list-table::
|
|
|
|
|
:widths: 3 1 1 1 1 1 1
|
|
|
|
|
:header-rows: 1
|
|
|
|
|
:stub-columns: 1
|
|
|
|
|
|
|
|
|
|
* -
|
|
|
|
|
- Bash
|
|
|
|
|
- zsh
|
|
|
|
|
- plumbum
|
|
|
|
|
- fish
|
|
|
|
|
- IPython
|
|
|
|
|
- xonsh
|
|
|
|
|
* - Sane language
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
* - Easily scriptable
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
* - Native cross-platform support
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
* - Meant as a shell
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
* - Tab completion
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
* - Man-page completion
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
* - Large standard library
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
* - Typed variables
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
- ✓
|
|
|
|
|
* - Syntax highlighting
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
- in notebook
|
|
|
|
|
- w/ prompt-toolkit
|
|
|
|
|
* - Pun in name
|
|
|
|
|
- ✓
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
* - Rich history
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- ✓
|
|
|
|
|
|
|
|
|
|
|
2015-03-07 18:58:14 -06:00
|
|
|
|
============
|
|
|
|
|
Dependencies
|
|
|
|
|
============
|
2015-09-12 19:57:50 -04:00
|
|
|
|
Xonsh currently has the following external dependencies,
|
2015-03-07 18:58:14 -06:00
|
|
|
|
|
|
|
|
|
*Run Time:*
|
|
|
|
|
|
2015-03-07 19:30:06 -06:00
|
|
|
|
#. Python v3.4+
|
|
|
|
|
#. PLY
|
2015-09-12 19:57:50 -04:00
|
|
|
|
#. prompt-toolkit (optional)
|
2016-01-01 12:00:55 -08:00
|
|
|
|
#. Jupyter (optional)
|
2016-01-27 18:47:17 -05:00
|
|
|
|
#. setproctitle (optional)
|
2015-03-07 18:58:14 -06:00
|
|
|
|
|
2015-03-07 19:30:06 -06:00
|
|
|
|
*Documentation:*
|
|
|
|
|
|
2015-11-14 19:20:00 -08:00
|
|
|
|
#. `Sphinx <http://sphinx-doc.org/>` (which uses
|
|
|
|
|
`reStructuredText <http://sphinx-doc.org/rest.html>`)
|
2015-03-07 19:30:06 -06:00
|
|
|
|
#. Numpydoc
|
|
|
|
|
#. Cloud Sphinx Theme
|
2015-03-07 18:58:14 -06:00
|
|
|
|
|
|
|
|
|
============
|
|
|
|
|
Contributing
|
|
|
|
|
============
|
2015-03-07 19:30:06 -06:00
|
|
|
|
We highly encourage contributions to xonsh! If you would like to contribute,
|
2015-03-07 18:58:14 -06:00
|
|
|
|
it is as easy as forking the repository on GitHub, making your changes, and
|
|
|
|
|
issuing a pull request. If you have any questions about this process don't
|
2015-03-07 19:30:06 -06:00
|
|
|
|
hesitate to ask the mailing list (xonsh@googlegroups.com).
|
|
|
|
|
|
|
|
|
|
==========
|
|
|
|
|
Contact Us
|
|
|
|
|
==========
|
|
|
|
|
If you have questions or comments, please send them to the mailing list
|
2015-07-29 16:35:40 +02:00
|
|
|
|
xonsh@googlegroups.com, page us on IRC, contact the author directly, or
|
|
|
|
|
open an issue on GitHub.
|
2015-03-07 19:30:06 -06:00
|
|
|
|
`Join the mailing list here! <https://groups.google.com/forum/#!forum/xonsh>`_
|
2015-03-07 18:58:14 -06:00
|
|
|
|
|
|
|
|
|
=============
|
|
|
|
|
Helpful Links
|
|
|
|
|
=============
|
|
|
|
|
|
2016-02-10 02:43:04 -05:00
|
|
|
|
* `Documentation <http://xon.sh>`_
|
2015-03-07 19:30:06 -06:00
|
|
|
|
* `Mailing list <https://groups.google.com/forum/#!forum/xonsh>`_
|
|
|
|
|
* `GitHub Repository <https://github.com/scopatz/xonsh>`_
|
2015-07-29 16:35:40 +02:00
|
|
|
|
* `IRC: channel #xonsh on OFTC <http://www.oftc.net/>`_
|
2015-03-07 18:58:14 -06:00
|
|
|
|
* :ref:`genindex`
|
|
|
|
|
* :ref:`modindex`
|
|
|
|
|
* :ref:`search`
|
|
|
|
|
|
2015-03-25 01:58:03 -05:00
|
|
|
|
.. raw:: html
|
2015-03-07 18:58:14 -06:00
|
|
|
|
|
2015-03-25 01:58:03 -05:00
|
|
|
|
<a href="https://github.com/scopatz/xonsh"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/52760788cde945287fbb584134c4cbc2bc36f904/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f77686974655f6666666666662e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_white_ffffff.png"></a>
|