亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? complete.ianmac

?? android-w.song.android.widget
?? IANMAC
字號:
######To: chet@po.cwru.edu, sarahmckenna@lucent.com#Message-Id: <slrn8mqioc.msb.ian@lovelorn.linuxcare.com>#Posted-To: comp.unix.shell, gnu.bash.bug#Subject: bash 2.04 programmable completion examples#Reply-To: ian@linuxcare.com, ian@caliban.org#Summary: examples of programmable completion for bash 2.04#Date: Thu, 13 Jul 2000 00:52:33 -0400 (EDT)#From: ianmacd@linuxcare.com (Ian Macdonald)############################################################################### Turn on extended globbingshopt -s extglob# A lot of the following one-liners were taken directly from the# completion examples provided with the bash 2.04 source distribution# Make directory commands see only directoriescomplete -d cd mkdir rmdir pushd# Make file commands see only filescomplete -f cat less more chown ln stripcomplete -f -X '*.gz' gzipcomplete -f -X '*.Z' compresscomplete -f -X '!*.+(Z|gz|tgz|Gz)' gunzip zcat zmorecomplete -f -X '!*.Z' uncompress zmore zcatcomplete -f -X '!*.+(gif|jpg|jpeg|GIF|JPG|bmp)' ee xvcomplete -f -X '!*.+(ps|PS|ps.gz)' gvcomplete -f -X '!*.+(dvi|DVI)' dvips xdvi dviselect dvitypecomplete -f -X '!*.+(pdf|PDF)' acroread xpdfcomplete -f -X '!*.texi*' makeinfo texi2dvi texi2htmlcomplete -f -X '!*.+(tex|TEX)' tex latex slitexcomplete -f -X '!*.+(mp3|MP3)' mpg123# kill sees only signalscomplete -A signal kill -P '%'# user commands see only userscomplete -u finger su usermod userdel passwd# bg completes with stopped jobscomplete -A stopped -P '%' bg# other job commandscomplete -j -P '%' fg jobs disown# network commands complete with hostnamecomplete -A hostname ssh rsh telnet rlogin ftp ping fping host traceroute \	    nslookup# export and others complete with shell variablescomplete -v export local readonly unset# set completes with set optionscomplete -A setopt set# shopt completes with shopt optionscomplete -A shopt shopt# helptopicscomplete -A helptopic help# unalias completes with aliasescomplete -a unalias# various commands complete with commandscomplete -c command type nohup exec nice eval strace gdb# bind completes with readline bindings (make this more intelligent)complete -A binding bind# Now we get to the meat of the file, the functions themselves. Some# of these are works in progress. Most assume GNU versions of the# tools in question and may require modifications for use on vanilla# UNIX systems.## A couple of functions may have non-portable, Linux specific code in# them, but this will be noted where applicable# GNU chown(1) completion. This should be expanded to allow the use of# ':' as well as '.' as the user.group separator.#_chown (){	local cur prev user group        COMPREPLY=()        cur=${COMP_WORDS[COMP_CWORD]}        prev=${COMP_WORDS[COMP_CWORD-1]}	# do not attempt completion if we're specifying an option	if [ "${cur:0:1}" = "-" ]; then return 0; fi	# first parameter on line or first since an option?	if [ $COMP_CWORD -eq 1 ] || [ "${prev:0:1}" = "-" ]; then		case "$cur" in		[a-zA-Z]*.*)			user=${cur%.*}			group=${cur#*.}			COMPREPLY=( $( awk 'BEGIN {FS=":"} \					{if ($1 ~ /^'$group'/) print $1}' \					/etc/group ) )			for (( i=0; i < ${#COMPREPLY[@]}; i++ )); do				COMPREPLY[i]=$user.${COMPREPLY[i]}			done			return 0			;;		*)			COMPREPLY=( $( compgen -u $cur -S '.' ) )			return 0			;;		esac	else		COMPREPLY=( $( compgen -f $cur ) )	fi	return 0}complete -F _chown chown# umount(8) completion. This relies on the mount point being the third# space-delimited field in the output of mount(8)#_umount (){	local cur        COMPREPLY=()        cur=${COMP_WORDS[COMP_CWORD]}	# could rewrite the cut | grep to be a sed command, but this is	# clearer and doesn't result in much overhead	COMPREPLY=( $( mount | cut -d' ' -f 3 | grep ^$cur) )	return 0}complete -F _umount umount# GID completion. This will get a list of all valid group names from# /etc/group and should work anywhere.#_gid_func (){	local cur        COMPREPLY=()        cur=${COMP_WORDS[COMP_CWORD]}	COMPREPLY=( $( awk 'BEGIN {FS=":"} {if ($1 ~ /^'$cur'/) print $1}' \			   /etc/group ) )	return 0}complete -F _gid_func groupdel groupmod# mount(8) completion. This will pull a list of possible mounts out of# /etc/fstab, unless the word being completed contains a ':', which# would indicate the specification of an NFS server. In that case, we# query the server for a list of all available exports and complete on# that instead.#_mount (){       local cur        COMPREPLY=()        cur=${COMP_WORDS[COMP_CWORD]}	case "$cur" in	*:*)	      COMPREPLY=( $( /usr/sbin/showmount -e --no-headers ${cur%%:*} |\			       grep ^${cur#*:} | awk '{print $1}'))		return 0		;;	*)		COMPREPLY=( $( awk '{if ($2 ~ /\//) print $2}' /etc/fstab | \			       grep ^$cur ))		return 0		;;	esac}complete -F _mount mount# Linux rmmod(1) completion. This completes on a list of all currently# installed kernel modules.#_rmmod (){	local cur        COMPREPLY=()        cur=${COMP_WORDS[COMP_CWORD]}	COMPREPLY=($( lsmod | awk '{if (NR != 1 && $1 ~ /^'$cur'/) print $1}'))	return 0}complete -F _rmmod rmmod# Linux insmod(1) completion. This completes on a list of all# available modules for the version of the kernel currently running.#_insmod (){	local cur modpath        COMPREPLY=()        cur=${COMP_WORDS[COMP_CWORD]}	modpath=/lib/modules/`uname -r`	COMPREPLY=($( ls -R $modpath | sed -ne 's/^\('$cur'.*\)\.o$/\1/p'))	return 0}complete -F _insmod insmod depmod modprobe# man(1) completion. This relies on the security enhanced version of# GNU locate(1). UNIX variants having non-numeric man page sections# other than l, m and n should add the appropriate sections to the# first clause of the case statement.## This is Linux specific, in that 'man <section> <page>' is the# expected syntax. This allows one to do something like# 'man 3 str<tab>' to obtain a list of all string handling syscalls on# the system.#_man (){	local cur prev        COMPREPLY=()        cur=${COMP_WORDS[COMP_CWORD]}        prev=${COMP_WORDS[COMP_CWORD-1]}	case "$prev" in	[0-9lmn])		COMPREPLY=($( slocate -ql 0 -r '/man/man'$prev'/'$cur | \		      sed -ne 's/^.*\/\('$cur'[^.\/]*\)\..*$/\1/p' ))		return 0		;;	*)		COMPREPLY=($( slocate -ql 0 -r '/man/man./'$cur | \		      sed -ne 's/^.*\/\('$cur'[^.\/]*\)\..*$/\1/p' ))		return 0		;;	esac}complete -F _man man# Linux killall(1) completion. This wouldn't be much use on, say,# Solaris, where killall does exactly that: kills ALL processes.## This could be improved. For example, it currently doesn't take# command line options into account#_killall (){	local cur prev        COMPREPLY=()        cur=${COMP_WORDS[COMP_CWORD]}        prev=${COMP_WORDS[COMP_CWORD-1]}	case "$prev" in	-[A-Z0-9]*)		# get a list of processes (the first sed evaluation		# takes care of swapped out processes, the second		# takes care of getting the basename of the process)	       COMPREPLY=( $( ps ahx | awk '{if ($5 ~ /^'$cur'/) print $5}' | \			       sed -e 's#[]\[]##g' -e 's#^.*/##' ))		return 0		;;	esac	# first parameter can be either a signal or a process	if [ $COMP_CWORD -eq 1 ]; then		# standard signal completion is rather braindead, so we need		# to hack around to get what we want here, which is to		# complete on a dash, followed by the signal name minus		# the SIG prefix		COMPREPLY=( $( compgen -A signal SIG${cur#-} ))		for (( i=0; i < ${#COMPREPLY[@]}; i++ )); do			COMPREPLY[i]=-${COMPREPLY[i]#SIG}		done	fi	# get processes, adding to signals if applicable	COMPREPLY=( ${COMPREPLY[*]} $( ps ahx | \		                       awk '{if ($5 ~ /^'$cur'/) print $5}' | \				       sed -e 's#[]\[]##g' -e 's#^.*/##' ))	return 0}complete -F _killall killall# GNU find(1) completion. This makes heavy use of ksh style extended# globs and contains Linux specific code for completing the parameter# to the -fstype option.#_find (){	local cur prev        COMPREPLY=()        cur=${COMP_WORDS[COMP_CWORD]#-}        prev=${COMP_WORDS[COMP_CWORD-1]}	case "$prev" in	-@(max|min)depth)		COMPREPLY=( $( compgen -W '0 1 2 3 4 5 6 7 8 9' ) )		return 0		;;	-?(a)newer|-fls|-fprint?(0|f))		COMPREPLY=( $( compgen -f $cur ) )		return 0		;;	-fstype)		# this is highly non-portable (the option to -d is a tab)		COMPREPLY=( $( cut -d'	' -f 2 /proc/filesystems | grep ^$cur ) )		return 0		;;	-gid)		COMPREPLY=( $( awk 'BEGIN {FS=":"} \				{if ($3 ~ /^'$cur'/) print $3}' /etc/group ) )		return 0		;;	-group)		COMPREPLY=( $( awk 'BEGIN {FS=":"} \				{if ($1 ~ /^'$cur'/) print $1}' /etc/group ) )		return 0		;;	-?(x)type)		COMPREPLY=( $( compgen -W 'b c d p f l s' $cur ) )		return 0		;;	-uid)		COMPREPLY=( $( awk 'BEGIN {FS=":"} \				{if ($3 ~ /^'$cur'/) print $3}' /etc/passwd ) )		return 0		;;	-user)		COMPREPLY=( $( compgen -u $cur ) )		return 0		;;	-[acm]min|-[acm]time|-?(i)?(l)name|-inum|-?(i)path|-?(i)regex| \	-links|-perm|-size|-used|-exec|-ok|-printf)		# do nothing, just wait for a parameter to be given		return 0		;;	esac	# complete using basic options ($cur has had its dash removed here,	# as otherwise compgen will bomb out with an error, since it thinks	# the dash is an option to itself)	COMPREPLY=( $( compgen -W 'daystart depth follow help maxdepth \			mindepth mount noleaf version xdev amin anewer atime \			cmin cnewer ctime empty false fstype gid group ilname \			iname inum ipath iregex links lname mmin mtime name \			newer nouser nogroup perm regex size true type uid \			used user xtype exec fls fprint fprint0 fprintf ok \			print print0 printf prune ls' $cur ) )	# this removes any options from the list of completions that have	# already been specified somewhere on the command line.	COMPREPLY=( $( echo "${COMP_WORDS[@]}-" | \		       (while read -d '-' i; do			    [ "$i" == "" ] && continue			    # flatten array with spaces on either side,			    # otherwise we cannot grep on word boundaries of			    # first and last word			    COMPREPLY=" ${COMPREPLY[@]} "			    # remove word from list of completions			    COMPREPLY=( ${COMPREPLY/ ${i%% *} / } )		        done		        echo ${COMPREPLY[@]})		  ) )		# put dashes back	for (( i=0; i < ${#COMPREPLY[@]}; i++ )); do		COMPREPLY[i]=-${COMPREPLY[i]}	done			return 0}complete -F _find find# Linux ifconfig(8) completion#_ifconfig (){	local cur        COMPREPLY=()        cur=${COMP_WORDS[COMP_CWORD]}	case "${COMP_WORDS[1]}" in	-|*[0-9]*)		COMPREPLY=( $( compgen -W '-a up down arp promisc allmulti \					   metric mtu dstaddr netmask add del \					   tunnel irq io_addr mem_start media \					   broadcast pointopoint hw multicast \					   address txqueuelen' $cur ))		COMPREPLY=( $( echo " ${COMP_WORDS[@]}" | \			       (while read -d ' ' i; do				   [ "$i" == "" ] && continue				   # flatten array with spaces on either side,				   # otherwise we cannot grep on word				   # boundaries of first and last word				   COMPREPLY=" ${COMPREPLY[@]} "				   # remove word from list of completions				   COMPREPLY=( ${COMPREPLY/ $i / } )				done			        echo ${COMPREPLY[@]})			  ) )		return 0		;;	esac	COMPREPLY=( $( ifconfig -a | sed -ne 's/^\('$cur'[^ ]*\).*$/\1/p' ))}complete -F _ifconfig ifconfig# Linux ipsec(8) completion (for FreeS/WAN). Very basic.#_ipsec (){	local cur        COMPREPLY=()        cur=${COMP_WORDS[COMP_CWORD]}	COMPREPLY=( $( compgen -W 'auto barf eroute klipsdebug look manual \				   pluto ranbits rsasigkey setup showdefaults \				   showhostkey spi spigrp tncfg whack' $cur ))}complete -F _ipsec ipsec#########################################################################

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美久久久久久久久中文字幕| 欧美视频在线一区二区三区 | 99久久免费国产| 偷拍与自拍一区| 国产精品麻豆99久久久久久| 538prom精品视频线放| 成人国产视频在线观看| 日本不卡一区二区三区| 亚洲天堂av老司机| 久久久久久9999| 91精品国产高清一区二区三区 | 极品少妇一区二区| 亚洲小说春色综合另类电影| 久久久精品免费网站| 欧美日韩二区三区| 91麻豆视频网站| 国产aⅴ精品一区二区三区色成熟| 午夜欧美电影在线观看| 亚洲精品国产视频| 国产精品久久久久三级| 久久久夜色精品亚洲| 日韩午夜激情av| 在线不卡一区二区| 欧美午夜精品久久久久久孕妇| 不卡的av电影| 懂色av一区二区在线播放| 美脚の诱脚舐め脚责91| 丝袜美腿亚洲一区| 亚洲第一激情av| 一区二区在线观看视频| 亚洲欧洲99久久| 中文字幕亚洲区| 亚洲欧洲av在线| 亚洲免费视频成人| 日韩理论片中文av| 国产精品国产三级国产普通话99 | 欧美一卡二卡三卡| 这里只有精品99re| 欧美一卡在线观看| 欧美大胆一级视频| 精品剧情v国产在线观看在线| 91精品国产综合久久香蕉麻豆| 欧美日韩国产一级二级| 欧美日韩一本到| 91精品黄色片免费大全| 日韩美一区二区三区| 欧美精品一区二区不卡| 精品国产乱码久久久久久久久| 精品日韩99亚洲| 久久久久久久久久久久久夜| 国产欧美一区二区三区在线看蜜臀| 国产日韩欧美麻豆| 亚洲人123区| 一区二区久久久久| 日日夜夜精品视频天天综合网| 婷婷夜色潮精品综合在线| 日韩精品一区第一页| 激情文学综合插| av亚洲精华国产精华| 在线观看成人免费视频| 欧美精品日韩精品| 精品久久久久久无| 国产精品久久久久久久午夜片| 亚洲免费在线看| 日本午夜精品视频在线观看| 狠狠色丁香久久婷婷综合_中| 国产**成人网毛片九色 | 久久激情五月婷婷| 国产精品18久久久久| 色屁屁一区二区| 日韩一区二区三区电影在线观看 | 欧美激情一区二区三区四区| 亚洲视频1区2区| 日韩激情av在线| 国产精品一二三四| 色婷婷精品大视频在线蜜桃视频| 91精品一区二区三区在线观看| 久久你懂得1024| 亚洲乱码精品一二三四区日韩在线| 亚洲成人av资源| 国产成人精品午夜视频免费| 欧美三级资源在线| 国产人伦精品一区二区| 亚洲一区二区3| 国产精品综合在线视频| 欧美色图一区二区三区| 久久久久久97三级| 亚洲va欧美va天堂v国产综合| 国产成人在线视频免费播放| 欧美网站大全在线观看| 国产欧美日韩另类视频免费观看| 亚洲一区二区av在线| 国产99久久久久| 日韩天堂在线观看| 一区二区三区欧美日韩| 国产东北露脸精品视频| 在线不卡a资源高清| 国产精品久久国产精麻豆99网站| 图片区小说区区亚洲影院| 不卡的av中国片| 欧美精品一区二区三区蜜臀| 午夜欧美一区二区三区在线播放| 成人18精品视频| www精品美女久久久tv| 午夜精品久久久久久久99水蜜桃 | 日本午夜一本久久久综合| 99国产精品久久久| 亚洲精品一区二区三区蜜桃下载 | 午夜亚洲福利老司机| 成人av免费在线观看| 久久网站热最新地址| 日韩高清不卡在线| 91黄色免费网站| 国产精品美女www爽爽爽| 精品一区在线看| 欧美精品三级日韩久久| 亚洲伊人伊色伊影伊综合网| 国产成人福利片| 精品少妇一区二区三区视频免付费| 亚洲一区日韩精品中文字幕| 色综合久久久网| 国产精品国产三级国产普通话蜜臀 | 日韩中文字幕麻豆| 欧美在线视频不卡| 亚洲精品写真福利| 99久久精品免费看| 国产精品三级久久久久三级| 国产电影精品久久禁18| 久久久一区二区| 国产精品一级在线| 国产亚洲综合av| 国产精品一区二区在线观看不卡 | 中文成人综合网| 国产不卡一区视频| 国产精品午夜在线观看| 成人午夜在线免费| 中文字幕不卡三区| av电影天堂一区二区在线 | 亚洲国产中文字幕在线视频综合| 色94色欧美sute亚洲13| 伊人一区二区三区| 91国产免费观看| 亚洲妇熟xx妇色黄| 欧美精品久久久久久久多人混战| 日韩制服丝袜先锋影音| 日韩欧美中文一区| 狠狠色丁香久久婷婷综合_中| 久久这里只精品最新地址| 国产麻豆精品久久一二三| 欧美激情在线看| 97se亚洲国产综合自在线不卡 | 蜜桃精品在线观看| 久久久99精品免费观看| 懂色av一区二区夜夜嗨| 国产精品国产自产拍高清av王其| 色婷婷狠狠综合| 日韩国产精品91| 久久亚洲精精品中文字幕早川悠里| 国产成人在线看| 自拍偷拍亚洲综合| 在线不卡的av| 国产91丝袜在线播放| 亚洲欧美国产高清| 7777精品伊人久久久大香线蕉完整版 | 欧美www视频| 国产大片一区二区| 亚洲欧美日韩久久| 91精品国产91久久久久久最新毛片| 精品在线播放免费| 最新成人av在线| 91精品国产麻豆国产自产在线 | 久久久久久久综合| 91麻豆国产自产在线观看| 午夜av电影一区| 欧美激情一区在线观看| 欧美日韩aaaaaa| 国产99一区视频免费| 性做久久久久久久久| 2024国产精品| 欧美午夜一区二区三区免费大片| 九色综合狠狠综合久久| 亚洲欧洲精品一区二区精品久久久| 欧美日韩在线精品一区二区三区激情| 精品午夜一区二区三区在线观看| 国产精品初高中害羞小美女文| 欧美日韩国产成人在线免费| 国产福利91精品| 日产国产高清一区二区三区| 国产精品水嫩水嫩| 日韩一区二区中文字幕| 91免费版在线| 国产综合久久久久影院| 一个色综合av| 欧美激情在线看| 日韩欧美国产高清| 欧美色精品在线视频| 成人黄色大片在线观看| 亚洲福利视频导航| 国产精品成人在线观看| 久久这里只精品最新地址|