Automatically re-start script as root
If you use sudo you can automatically re-start scripts that need to be run as root by adding a check at the beginning of the script and executing sudo if the script is not running as root:
if [[ $UID -ne 0 ]]; then sudo -p 'Restarting as root, password: ' bash $0 "$@" exit $? fi
The inclusion of "bash" in the sudo command is to avoid problems if the script does not have its execute bit set. The "exit $?" causes the shell to exit with the status from the script instance that sudo runs.
Mitch Frazier is an Associate Editor for Linux Journal.
- Linux Kernel Testing and Debugging
- Tails above the Rest, Part III
- NSA: Linux Journal is an "extremist forum" and its readers get flagged for extra surveillance
- Numerical Python
- Wanted: Your Embedded Linux Projects
- Tails above the Rest: the Installation
- Are you an extremist?
- Tails above the Rest, Part II
- Dolphins in the NSA Dragnet
- RSS Feeds