Skip to content

Instantly share code, notes, and snippets.

@minrk
Created June 1, 2012 02:52
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save minrk/2848290 to your computer and use it in GitHub Desktop.
Save minrk/2848290 to your computer and use it in GitHub Desktop.
import sys
import shlex
from subprocess import Popen, PIPE
from IPython.utils.py3compat import unicode_to_str
def shebang(line, cell):
cmd = shlex.split(unicode_to_str(line))
p = Popen(cmd, stdout=PIPE, stderr=PIPE, stdin=PIPE)
out,err = p.communicate(cell)
if err:
print >> sys.stderr, err
print out
get_ipython().register_magic_function(shebang, 'cell')
"""
From now, you can do:
%%shebang bash
uname -a
echo "foo $(hostname)"
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment