Make shell script running in a Pythonic way.
Running shell in a Pythonic way.
$ pip install simplerun
>> from simplerun import run >> r = run('ls -l') >> r < `ls -l`>
0 refers to the exit code here.
>> print r.std_out total 8 -rw-r--r-- 1 yj staff 664 11 19 21:46 README.md -rw-r--r-- 1 yj staff 829 11 18 22:39 setup.py drwxr-xr-x 6 yj staff 204 11 19 21:46 simplerun
Iterable as input
>> with open('setup.py') as data: >> r = run('grep def', data) >> print(r.std_out)
Result as input
>> r_data = run('ps aux') >> r = run('grep Chrome', r_data)
>> r = run('ps aux | stranger | grep keyword') >> r <[-1] `stranger`> >> r.exc OSError(2, 'No such file or directory')
Found the stanger is the evil
>> r.history [< `ps aux`>]
review history, and keep going with good input:
>> r.rest [['grep', 'keyword']] >> >> r2 = run(r.rest, '''Good line that contains the keyword but not this line, sorry.''') >> print(r2.std_out) 'Good line that contains the keyword\n'
Concurrent & Parallel
>> batches = ['ps', 'top -n 10', 'uptime'] >> r = prun(batches) # paralell running >> r2 = concurrent_run(batches) # or, running in a concurrent mode