vim-snippets/snippets/sh.snippets
2015-03-04 22:03:29 +01:00

114 lines
3.0 KiB
Plaintext

# Shebang. Executing bash via /usr/bin/env makes scripts more portable.
snippet #!
#!/usr/bin/env sh
snippet bash
#!/usr/bin/env bash
snippet if
if [[ ${1:condition} ]]; then
${0:#statements}
fi
snippet elif
elif [[ ${1:condition} ]]; then
${0:#statements}
snippet for
for (( ${2:i} = 0; $2 < ${1:count}; $2++ )); do
${0:#statements}
done
snippet fori
for ${1:needle} in ${2:haystack} ; do
${0:#statements}
done
snippet wh
while [[ ${1:condition} ]]; do
${0:#statements}
done
snippet until
until [[ ${1:condition} ]]; do
${0:#statements}
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}
}
snippet GPL2
#########################################################################
# ${1:One line to give the program's name and a brief description.} #
# Copyright (C) `strftime("%Y")` ${2:`g:snips_author`} #
# #
# This script is free software; you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation; either version 2 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program; if not, see <http://www.gnu.org/licenses/>. #
#########################################################################