mirror of
				https://github.com/amix/vimrc
				synced 2025-10-31 06:33:35 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			107 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # 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}
 | |
| 	}
 | 
