Running a Python script with root permissions
FeedbackBy Preston Hunt, 07 November 2013
Previously, I wrote a script that automatically escalated to root permissions if needed.

This works fine for shell scripts, but recently I needed a way to do this for Python scripts. The trouble is that the shebang #! syntax only allows limited command-line argument passing.

This following recipe is not pretty, but it seems to work!

#!/usr/bin/env bash

if (( UID != 0 )); then
	echo re-running as root
	exec sudo -E "$0" "$@"
fi

python2 -u <(cat <<"EOF" print "hello, world!" EOF ) "$@"

blog comments powered by Disqus