Mcat12 requests. Added bash-completion support

This commit is contained in:
nate 2016-04-02 17:58:10 -05:00
parent 767b72fbfa
commit d47fbbbe96
4 changed files with 35 additions and 29 deletions

View File

@ -0,0 +1,12 @@
_pihole()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="whitelist blacklist debug flush updateDashboard updateGravity setupLCD chronometer help"
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
}
complete -F _pihole pihole

View File

@ -483,7 +483,8 @@ installScripts() {
$SUDO cp /etc/.pihole/automated\ install/uninstall.sh /opt/pihole/uninstall.sh $SUDO cp /etc/.pihole/automated\ install/uninstall.sh /opt/pihole/uninstall.sh
$SUDO cp /etc/.pihole/advanced/Scripts/setupLCD.sh /opt/pihole/setupLCD.sh $SUDO cp /etc/.pihole/advanced/Scripts/setupLCD.sh /opt/pihole/setupLCD.sh
$SUDO chmod 755 /opt/pihole/{gravity,chronometer,whitelist,blacklist,piholeLogFlush,updateDashboard,uninstall,setupLCD}.sh $SUDO chmod 755 /opt/pihole/{gravity,chronometer,whitelist,blacklist,piholeLogFlush,updateDashboard,uninstall,setupLCD}.sh
$SUDO cp /etc/.pihole/pihole.sh /usr/local/bin/pihole.sh $SUDO cp /etc/.pihole/pihole /usr/local/bin/pihole
$SUDO cp /etc/.pihole/advanced/bash-completion/pihole /etc/bash-completion.d/pihole
$SUDO echo " done." $SUDO echo " done."
} }

View File

@ -115,21 +115,14 @@ function removeNoPurge {
fi fi
fi fi
$SUDO rm /usr/local/bin/gravity.sh &> /dev/null
$SUDO rm /usr/local/bin/chronometer.sh &> /dev/null
$SUDO rm /usr/local/bin/whitelist.sh &> /dev/null
$SUDO rm /usr/local/bin/blacklist.sh &> /dev/null
$SUDO rm /usr/local/bin/piholeLogFlush.sh &> /dev/null
$SUDO rm /usr/local/bin/piholeDebug.sh &> /dev/null
$SUDO rm /usr/local/bin/updateDashboard.sh &> /dev/null
$SUDO rm /usr/local/bin/uninstall.sh &> /dev/null
$SUDO rm /etc/dnsmasq.d/adList.conf &> /dev/null $SUDO rm /etc/dnsmasq.d/adList.conf &> /dev/null
$SUDO rm /etc/dnsmasq.d/01-pihole.conf &> /dev/null $SUDO rm /etc/dnsmasq.d/01-pihole.conf &> /dev/null
$SUDO rm -rf /var/log/*pihole* &> /dev/null $SUDO rm -rf /var/log/*pihole* &> /dev/null
$SUDO rm -rf /etc/pihole/ &> /dev/null $SUDO rm -rf /etc/pihole/ &> /dev/null
$SUDO rm -rf /etc/.pihole/ &> /dev/null $SUDO rm -rf /etc/.pihole/ &> /dev/null
$SUDO rm -rf /opt/pihole/ &> /dev/null $SUDO rm -rf /opt/pihole/ &> /dev/null
$SUDO rm /usr/local/bin/pihole.sh &> /dev/null $SUDO rm /usr/local/bin/pihole &> /dev/null
$SUDO rm /etc/bash-completion.d/pihole
echo ":::" echo ":::"
printf "::: Finished removing PiHole from your system. Sorry to see you go!\n" printf "::: Finished removing PiHole from your system. Sorry to see you go!\n"

View File

@ -16,7 +16,7 @@ if [[ $EUID -eq 0 ]];then
else else
echo "::: Sudo will be used for this tool." echo "::: Sudo will be used for this tool."
# Check if it is actually installed # Check if it is actually installed
# If it isn't, exit because the unnstall cannot complete # If it isn't, exit because the pihole cannot be invoked without privileges.
if [[ $(dpkg-query -s sudo) ]];then if [[ $(dpkg-query -s sudo) ]];then
export SUDO="sudo" export SUDO="sudo"
else else
@ -70,18 +70,18 @@ function helpFunc {
echo "::: Control all PiHole specific functions!" echo "::: Control all PiHole specific functions!"
echo ":::" echo ":::"
echo "::: Usage: pihole.sh [options]" echo "::: Usage: pihole.sh [options]"
printf ":::\tAdd -h after -w, -b, or -c for more information on usage\n" printf ":::\tAdd -h after -w (whitelist), -b (blacklist), or -c (chronometer) for more information on usage\n"
echo ":::" echo ":::"
echo "::: Options:" echo "::: Options:"
echo "::: -w, --whitelist Whitelist domains" echo "::: -w, whitelist Whitelist domains"
echo "::: -b, --blacklist Blacklist domains" echo "::: -b, blacklist Blacklist domains"
echo "::: -d, --debug Start a debugging session if having trouble" echo "::: -d, debug Start a debugging session if having trouble"
echo "::: -f, --flush Flush the pihole.log file" echo "::: -f, flush Flush the pihole.log file"
echo "::: -u, --updateDashboard Update the web dashboard manually" echo "::: -u, updateDashboard Update the web dashboard manually"
echo "::: -g, --updateGravity Update the list of ad-serving domains" echo "::: -g, updateGravity Update the list of ad-serving domains"
echo "::: -s, --setupLCD Automatically configures the Pi to use the 2.8 LCD screen to display stats on it" echo "::: -s, setupLCD Automatically configures the Pi to use the 2.8 LCD screen to display stats on it"
echo "::: -c, --chronometer Calculates stats and displays to an LCD" echo "::: -c, chronometer Calculates stats and displays to an LCD"
echo "::: -h, --help Show this help dialog" echo "::: -h, help Show this help dialog"
exit 1 exit 1
} }
@ -91,13 +91,13 @@ fi
# Handle redirecting to specific functions based on arguments # Handle redirecting to specific functions based on arguments
case "$1" in case "$1" in
"-w" | "--whitelist" ) whitelistFunc "$@";; "-w" | "whitelist" ) whitelistFunc "$@";;
"-b" | "--blacklist" ) blacklistFunc "$@";; "-b" | "blacklist" ) blacklistFunc "$@";;
"-d" | "--debug" ) debugFunc;; "-d" | "debug" ) debugFunc;;
"-f" | "--flush" ) flushFunc;; "-f" | "flush" ) flushFunc;;
"-u" | "--updateDashboard" ) updateDashboardFunc;; "-u" | "-updateDashboard" ) updateDashboardFunc;;
"-s" | "--setupLCD" ) setupLCDFunction;; "-s" | "setupLCD" ) setupLCDFunction;;
"-c" | "--chronometer" ) chronometerFunc;; "-c" | "chronometer" ) chronometerFunc;;
"-h" | "--help" ) helpFunc;; "-h" | "help" ) helpFunc;;
* ) helpFunc;; * ) helpFunc;;
esac esac