[Bash-completion-commits] [SCM] bash-completion branch, master, updated. b3f8e617ac7569a4c6bd3f3f6e6e3bc51d61d3f4
Guillaume Rousse
guillomovitch at zarb.org
Fri May 29 07:57:26 UTC 2009
The following commit has been merged in the master branch:
commit 4064cd2361315cbe1f63ca379cac7ca922cd7937
Author: Guillaume Rousse <guillomovitch at zarb.org>
Date: Wed May 27 18:56:41 2009 +0200
split iptables completion
diff --git a/Makefile.am b/Makefile.am
index bbaf987..719f219 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -35,6 +35,7 @@ bashcomp_DATA = contrib/ant \
contrib/harbour \
contrib/heimdal \
contrib/imagemagick \
+ contrib/iptables \
contrib/isql \
contrib/java \
contrib/larch \
diff --git a/bash_completion b/bash_completion
index c7919b5..4171c19 100644
--- a/bash_completion
+++ b/bash_completion
@@ -2610,69 +2610,6 @@ _jar()
} &&
complete -F _jar $filenames jar
-# Linux iptables(8) completion
-#
-have iptables &&
-_iptables()
-{
- local cur prev table chain
-
- COMPREPLY=()
- cur=`_get_cword`
- prev=${COMP_WORDS[COMP_CWORD-1]}
- chain='s/^Chain \([^ ]\+\).*$/\1/p'
-
- if [[ $COMP_LINE == *-t\ *filter* ]]; then
- table="-t filter"
- elif [[ $COMP_LINE == *-t\ *nat* ]]; then
- table="-t nat"
- elif [[ $COMP_LINE == *-t\ *mangle* ]]; then
- table="-t mangle"
- fi
-
- _split_longopt
-
- case "$prev" in
- -*[AIDRPFXLZ])
- COMPREPLY=( $( compgen -W '`iptables $table -nL | \
- sed -ne "s/^Chain \([^ ]\+\).*$/\1/p"`' -- $cur ) )
- ;;
- -*t)
- COMPREPLY=( $( compgen -W 'nat filter mangle' -- $cur ) )
- ;;
- -j)
- if [ "$table" = "-t filter" -o "$table" = "" ]; then
- COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
- `iptables $table -nL | sed -ne "$chain" \
- -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- \
- $cur ) )
- elif [ "$table" = "-t nat" ]; then
- COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
- MIRROR SNAT DNAT MASQUERADE `iptables $table -nL | \
- sed -ne "$chain" -e "s/OUTPUT|PREROUTING|POSTROUTING//"`' \
- -- $cur ) )
- elif [ "$table" = "-t mangle" ]; then
- COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
- MARK TOS `iptables $table -nL | sed -ne "$chain" \
- -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- \
- $cur ) )
- fi
- ;;
- *)
- if [[ "$cur" == -* ]]; then
- COMPREPLY=( $( compgen -W '-i -o -s -d -p -f -m --append \
- --delete --insert --replace --list --flush --zero --new \
- --delete-chain --policy --rename-chain --proto --source \
- --destination --in-interface --jump --match --numeric \
- --out-interface --table --verbose --line-numbers --exact \
- --fragment --modprobe --set-counters --version' -- "$cur") )
- fi
- ;;
- esac
-
-} &&
-complete -F _iptables iptables
-
# tcpdump(8) completion
#
have tcpdump &&
diff --git a/contrib/iptables b/contrib/iptables
new file mode 100644
index 0000000..77714c6
--- /dev/null
+++ b/contrib/iptables
@@ -0,0 +1,65 @@
+# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
+# ex: ts=8 sw=8 noet filetype=sh
+#
+# bash completion for iptables
+
+have iptables &&
+_iptables()
+{
+ local cur prev table chain
+
+ COMPREPLY=()
+ cur=`_get_cword`
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+ chain='s/^Chain \([^ ]\+\).*$/\1/p'
+
+ if [[ $COMP_LINE == *-t\ *filter* ]]; then
+ table="-t filter"
+ elif [[ $COMP_LINE == *-t\ *nat* ]]; then
+ table="-t nat"
+ elif [[ $COMP_LINE == *-t\ *mangle* ]]; then
+ table="-t mangle"
+ fi
+
+ _split_longopt
+
+ case "$prev" in
+ -*[AIDRPFXLZ])
+ COMPREPLY=( $( compgen -W '`iptables $table -nL | \
+ sed -ne "s/^Chain \([^ ]\+\).*$/\1/p"`' -- $cur ) )
+ ;;
+ -*t)
+ COMPREPLY=( $( compgen -W 'nat filter mangle' -- $cur ) )
+ ;;
+ -j)
+ if [ "$table" = "-t filter" -o "$table" = "" ]; then
+ COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
+ `iptables $table -nL | sed -ne "$chain" \
+ -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- \
+ $cur ) )
+ elif [ "$table" = "-t nat" ]; then
+ COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
+ MIRROR SNAT DNAT MASQUERADE `iptables $table -nL | \
+ sed -ne "$chain" -e "s/OUTPUT|PREROUTING|POSTROUTING//"`' \
+ -- $cur ) )
+ elif [ "$table" = "-t mangle" ]; then
+ COMPREPLY=( $( compgen -W 'ACCEPT DROP LOG ULOG REJECT \
+ MARK TOS `iptables $table -nL | sed -ne "$chain" \
+ -e "s/INPUT|OUTPUT|FORWARD|PREROUTING|POSTROUTING//"`' -- \
+ $cur ) )
+ fi
+ ;;
+ *)
+ if [[ "$cur" == -* ]]; then
+ COMPREPLY=( $( compgen -W '-i -o -s -d -p -f -m --append \
+ --delete --insert --replace --list --flush --zero --new \
+ --delete-chain --policy --rename-chain --proto --source \
+ --destination --in-interface --jump --match --numeric \
+ --out-interface --table --verbose --line-numbers --exact \
+ --fragment --modprobe --set-counters --version' -- "$cur") )
+ fi
+ ;;
+ esac
+
+} &&
+complete -F _iptables iptables
--
bash-completion
More information about the Bash-completion-commits
mailing list