Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Your IP : 3.145.108.87
#
# Copyright 2009 Canonical Ltd.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 3,
# as published by the Free Software Foundation.
#
# 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/>.
#
# Based on work by Didier Roche <didrocks@ubuntu.com>
#
_ufw_commands()
{
commands=$(ufw --help | sed -e '1,/^Commands:/d' -e '/^Application profile commands:/Q' -e 's/^[ \t]\+\([a-z|]\+\)[ \t]\+.*/\1/g' -e 's/|/ /g' | uniq)
echo "$commands app"
}
_ufw_app_commands()
{
ufw --help | sed -e '1,/^Application profile commands:/d' -e '/^ [^ ]/!d' -e 's/[ \t]\+app[ \t]\+\([a-z|]\+\)[ \t]\+.*/\1/g'
}
_ufw_logging_commands()
{
echo "off on low medium high full"
}
_ufw_default_commands()
{
echo "allow deny reject"
}
_ufw_rule_commands()
{
echo "`_ufw_default_commands` limit"
}
_ufw_route_commands()
{
echo "`_ufw_default_commands` limit delete insert"
}
_ufw_show_commands()
{
echo "raw"
}
_ufw_status_commands()
{
echo "numbered verbose"
}
have ufw &&
_ufw()
{
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
if [ $COMP_CWORD -eq 1 ]; then
COMPREPLY=( $( compgen -W "--dry-run --force --help $(_ufw_commands)" -- $cur ) )
elif [ $COMP_CWORD -eq 2 ]; then
case "$prev" in
app)
COMPREPLY=( $( compgen -W "$(_ufw_app_commands)" -- $cur ) )
;;
status)
COMPREPLY=( $( compgen -W "$(_ufw_status_commands)" -- $cur ) )
;;
delete)
COMPREPLY=( $( compgen -W "$(_ufw_rule_commands)" -- $cur ) )
;;
route)
COMPREPLY=( $( compgen -W "$(_ufw_route_commands)" -- $cur ) )
;;
logging)
COMPREPLY=( $( compgen -W "$(_ufw_logging_commands)" -- $cur ) )
;;
show)
COMPREPLY=( $( compgen -W "$(_ufw_show_commands)" -- $cur ) )
;;
default)
COMPREPLY=( $( compgen -W "$(_ufw_default_commands)" -- $cur ) )
;;
esac
fi
}
[ "$have" ] && complete -F _ufw ufw
|