From 53eb3851d1115bc825bdf1c4d6f9407e8ff414d4 Mon Sep 17 00:00:00 2001 From: Anish Athalye Date: Tue, 18 Apr 2017 22:18:58 -0400 Subject: Make launcher find python binary --- bin/dotbot | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/dotbot b/bin/dotbot index e9b432b..78a0725 100755 --- a/bin/dotbot +++ b/bin/dotbot @@ -1,4 +1,20 @@ -#!/usr/bin/env python +#!/usr/bin/env sh + +# This is a valid shell script and also a valid Python script. When this file +# is executed as a shell script, it finds a python binary and executes this +# file as a Python script, passing along all of the command line arguments. +# When this file is executed as a Python script, it loads and runs Dotbot. This +# is useful because we don't know the name of the python binary. + +''':' # begin python string; this line is interpreted by the shell as `:` +which python3 >/dev/null 2>&1 && exec python3 "$0" "$@" +which python >/dev/null 2>&1 && exec python "$0" "$@" +which python2 >/dev/null 2>&1 && exec python2 "$0" "$@" +>&2 echo "error: cannot find python" +return 1 +''' + +# python code import sys, os -- cgit v1.2.3