A library that enables easy running and concatenation of bash commands in python
Installation
Install using pip:
pip install bash
Usage
Run commands as you would in bash:
>>> from bash import bash
>>> bash('ls . | grep ".pyc"')
bash.pyc
tests.pyc
Chain commands for the same effect:
>>> bash('ls . ').bash('grep ".pyc"')
bash.pyc
tests.pyc
This becomes increasingly useful if you later need to reuse one such command:
>>> b = bash('ls . ')
>>> b.bash('grep ".pyc"')
bash.pyc
tests.pyc
>>> b.bash('grep ".py$')
bash.py
tests.py
Access stdout and stderr attributes:
>>> b = bash('ls tests.py')
>>> b.stdout
'tests.py\n'
>>> b.stderr
''
Get the return code generated by a command:
>>> b = bash('ls tests.py')
>>> b
tests.py
>>> b.code
0
To get a stripped, unicode string version of bash.stdout call value():
>>> b = bash('ls tests.py').value()
u'tests.py'
Motivation
I found that I was often having to write the same lines of code to handle running bash commands from python.
This provides a pip-installable, tested shortcut to writing:
from subprocess import PIPE, Popen p = Popen(cmd, shell=True, stdout=PIPE, stdin=PIPE, stderr=PIPE) output, err = p.communicate()
Warning
Please note that this library uses shell=True under the hood. This means that this library is NOT suitable for running untrusted commands. (See explanation)
Running the tests
Simply use a test runner.
$ nosetests
Support + Contributing
Feel free to make pull requests, or report issues via the repo:
Release files for bash 0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bash-0.6.tar.gz | 2.8 kB | Details |
Release files / bash-0.6.tar.gz
| Download URL | bash-0.6.tar.gz |
|---|---|
| Size | 2.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2f79cb477d2763e6a24ca89314daef03b4cd899e02acec2635c95ea942736c68
|
|
BLAKE2b-256 checksum How to use checksums |
42304870d449947581ff48f213c206d103e9458b0070dbc436c50b1b95007043
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |