106 lines
2.1 KiB
Text
Executable file
106 lines
2.1 KiB
Text
Executable file
# Shebang. Executing bash via /usr/bin/env makes scripts more portable.
|
|
snippet #!
|
|
#!/usr/bin/env sh
|
|
|
|
snippet s#!
|
|
#!/usr/bin/env sh
|
|
set -eu
|
|
|
|
snippet safe
|
|
set -eu
|
|
|
|
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}
|
|
}
|