add missing bang to shebang. correct usage of cp. correct wrong copy target dir. safeguard sudo-rm-rf. safeguard against variable expansion into IFS chars. clean up whitespace.

Signed-off-by: corbolais <corbolais@gmail.com>
This commit is contained in:
corbolais 2019-12-08 17:55:43 +01:00
parent 4466f1503c
commit 47c84e6a45

View file

@ -4,8 +4,8 @@
###Main Vars ###Main Vars
pivpnrepo="https://github.com/pivpn/pivpn.git" pivpnrepo="https://github.com/pivpn/pivpn.git"
pivpnlocalpath="/etc/.pivpn" pivpnlocalpath="/etc/.pivpn"
pivpnscripts="/opt/pivpn/scripts" pivpnscripts="/opt/pivpn/"
bashcompletiondir="/etc/bash_completion.d/pivpn" bashcompletiondir="/etc/bash_completion.d/"
###Functions ###Functions
@ -14,13 +14,13 @@ updatepivpnscripts(){
##We don't know what sort of changes users have made. ##We don't know what sort of changes users have made.
##Lets remove first /etc/.pivpn dir then clone it back again ##Lets remove first /etc/.pivpn dir then clone it back again
echo "going do update PiVPN Scripts" echo "going do update PiVPN Scripts"
if [[ -d $pivpnlocalpath ]]; then if [[ -d "$pivpnlocalpath" ]]; then
if [[ -n "$pivpnlocalpath" ]]; then
sudo rm -rf $pivpnlocalpath sudo rm -rf "${pivpnlocalpath}/../.pivpn"
cloneandupdate cloneandupdate
fi
else else
cloneandupdate cloneandupdate
fi fi
echo "PiVPN Scripts have been updated" echo "PiVPN Scripts have been updated"
} }
@ -30,62 +30,55 @@ updatefromtest(){
##We don't know what sort of changes users have made. ##We don't know what sort of changes users have made.
##Lets remove first /etc/.pivpn dir then clone it back again ##Lets remove first /etc/.pivpn dir then clone it back again
echo "PiVPN Scripts updating from test branch" echo "PiVPN Scripts updating from test branch"
if [[ -d /etc/.pivpn ]]; then if [[ -d "$pivpnlocalpath" ]]; then
if [[ -n "$pivpnlocalpath" ]]; then
rm -rf /etc/.pivpn rm -rf "{$pivpnlocalpath}/../.pivpn"
cloneupdttest cloneupdttest
fi
else else
cloneupdttest
cloneupdttest
fi fi
echo "PiVPN Scripts updated have been updated from test branch" echo "PiVPN Scripts updated have been updated from test branch"
} }
##Clone and copy pivpn scripts to /op/ ##Clone and copy pivpn scripts to /op/
cloneandupdate(){ cloneandupdate(){
sudo git clone "$pivpnrepo" "$pivpnlocalpath"
sudo git clone $pivpnrepo $pivpnlocalpath sudo cp "${pivpnlocalpath}"/scripts/*.sh "$pivpnscripts"
sudo cp -r $pivpnlocalpath/scripts $pivpnscripts sudo cp "${pivpnlocalpath}"/scripts/bash-completion "$bashcompletiondir"
sudo cp $pivpnlocalpath/scripts/bash-completion $bashcompletiondir
} }
##same as cloneandupdate() but from test branch ##same as cloneandupdate() but from test branch
##and falls back to master branch again after updating ##and falls back to master branch again after updating
cloneupdttest(){ cloneupdttest(){
sudo git clone "$pivpnrepo" "$pivpnlocalpath"
sudo git clone $pivpnrepo $pivpnlocalpath sudo git -C "$pivpnlocalpath" checkout test
sudo git -C $pivpnlocalpath checkout test sudo git -C "$pivpnlocalpath" pull origin test
sudo git -C $pivpnlocalpath pull origin test sudo cp "${pivpnlocalpath}"/scripts/*.sh "$pivpnscripts"
sudo cp -r $pivpnlocalpath/scripts $pivpnscripts sudo cp "${pivpnlocalpath}"/scripts/bash-completion "$bashcompletiondir"
sudo cp $pivpnlocalpath/scripts/bash-completion $bashcompletiondir sudo git -C "$pivpnlocalpath" checkout master
sudo git -C $pivpnlocalpath checkout master
} }
scriptusage(){ scriptusage(){
echo -e "Updates pivpn scripts,\n echo -e "Updates pivpn scripts,
Usage: Usage:
pivpn update | updates from master branch pivpn update | updates from master branch
pivpn update -t or --test | updates from test branch" pivpn update -t or --test | updates from test branch"
} }
## SCRIPT ## SCRIPT
if [[ $# -eq 0 ]]; then if [[ $# -eq 0 ]]; then
updatepivpnscripts updatepivpnscripts
else else
while true; do while true; do
case "$1" in case "$1" in
-t | --test | test ) -t|--test|test)
updatefromtest updatefromtest
exit 0 exit 0
;; ;;
-h | --help | help ) -h|--help|help)
scriptusage scriptusage
exit 0 exit 0
;; ;;