# Shebang. Executing bash via /usr/bin/env makes scripts more portable. snippet #! #!/usr/bin/env sh snippet s#! #!/usr/bin/env sh set -euo pipefail snippet safe set -euo pipefail snippet bash #!/usr/bin/env bash snippet sbash #!/usr/bin/env bash set -euo pipefail IFS=$'\n\t' snippet if if [[ ${1:condition} ]]; then ${0:${VISUAL}} fi snippet elif elif [[ ${1:condition} ]]; then ${0:${VISUAL}} snippet for for (( ${2:i} = 0; $2 < ${1:count}; $2++ )); do ${0:${VISUAL}} done snippet fori for ${1:needle} in ${2:haystack} ; do ${0:${VISUAL}} done snippet wh while [[ ${1:condition} ]]; do ${0:${VISUAL}} done snippet until until [[ ${1:condition} ]]; do ${0:${VISUAL}} done snippet case case ${1:word} in ${2:pattern}) ${0};; esac snippet go while getopts '${1:o}' ${2:opts} do case $$2 in ${3:o0}) ${0:#staments};; esac done # Set SCRIPT_DIR variable to directory script is located. snippet sdir SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # getopt snippet getopt __ScriptVersion="${1:version}" #=== FUNCTION ================================================================ # NAME: usage # DESCRIPTION: Display usage information. #=============================================================================== function usage () { echo "Usage : $${0:0} [options] [--] Options: -h|help Display this message -v|version Display script version" } # ---------- end of function usage ---------- #----------------------------------------------------------------------- # Handle command line arguments #----------------------------------------------------------------------- while getopts ":hv" opt do case $opt in h|help ) usage; exit 0 ;; v|version ) echo "$${0:0} -- Version $__ScriptVersion"; exit 0 ;; * ) echo -e "\n Option does not exist : $OPTARG\n" usage; exit 1 ;; esac # --- end of case --- done shift $(($OPTIND-1)) snippet root if [ \$(id -u) -ne 0 ]; then exec sudo \$0; fi snippet fun-sh ${1:function_name}() { ${0:#function_body} } snippet fun function ${1:function_name}() { ${0:#function_body} }