Check bash shell script user & usage

Saturday, September 26, 2015

8:52 AM

Bash script display usage and check user

Sometimes it is needed to check what user is executing the bash script and whether the user supplied all required arguments:

#!/bin/bash

display_usage() {
echo "This script must be run with super-user privileges."
echo -e "\nUsage:\n$0 [arguments] \n"
}

# if less than two arguments supplied, display usage
if [ $# -le 1 ]
then
display_usage
exit1
fi

# check whether user had supplied -h or --help . If yes display usage
if [[ ( $# == "--help") || $# == "-h" ]]
then
display_usage
exit0
fi

# display usage if the script is not run as root user
if [[ $USER != "root" ]]; then
echo "This script must be run as root!"
exit1
fi

echo "All good !!!"

OUTPUT:

$ ./script.sh 1
This script must be run with super-user privileges.

Usage: ./script.sh [arguments]

$ su
Password:
# ./script.sh 1 2
All good !!!

Inserted from <http://linuxconfig.org/bash-script-display-usage-and-check-user>

Created with Microsoft OneNote 2013.