install bettercap on rpi zero 2 w
#! /bin/bash
# shellcheck disable=SC2016
set -e
VERSION=" 1.20.6"
[ -z " $GOROOT " ] && GOROOT=" $HOME /.go"
[ -z " $GOPATH " ] && GOPATH=" $HOME /go"
OS=" $( uname -s) "
ARCH=" $( uname -m) "
case $OS in
" Linux" )
case $ARCH in
" x86_64" )
ARCH=amd64
;;
" aarch64" )
ARCH=arm64
;;
" armv6" | " armv7l" )
ARCH=armv6l
;;
" armv8" )
ARCH=arm64
;;
" i686" )
ARCH=386
;;
.* 386.* )
ARCH=386
;;
esac
PLATFORM=" linux-$ARCH "
;;
" Darwin" )
case $ARCH in
" x86_64" )
ARCH=amd64
;;
" arm64" )
ARCH=arm64
;;
esac
PLATFORM=" darwin-$ARCH "
;;
esac
print_help () {
echo " Usage: bash goinstall.sh OPTIONS"
echo -e " \nOPTIONS:"
echo -e " --remove\tRemove currently installed version"
echo -e " --version\tSpecify a version number to install"
}
if [ -z " $PLATFORM " ]; then
echo " Your operating system is not supported by the script."
exit 1
fi
if [ -n " $( $SHELL -c ' echo $ZSH_VERSION' ) " ]; then
shell_profile=" $HOME /.zshrc"
elif [ -n " $( $SHELL -c ' echo $BASH_VERSION' ) " ]; then
shell_profile=" $HOME /.bashrc"
elif [ -n " $( $SHELL -c ' echo $FISH_VERSION' ) " ]; then
shell=" fish"
if [ -d " $XDG_CONFIG_HOME " ]; then
shell_profile=" $XDG_CONFIG_HOME /fish/config.fish"
else
shell_profile=" $HOME /.config/fish/config.fish"
fi
fi
if [ " $1 " == " --remove" ]; then
rm -rf " $GOROOT "
if [ " $OS " == " Darwin" ]; then
if [ " $shell " == " fish" ]; then
sed -i " " ' /# GoLang/d' " $shell_profile "
sed -i " " ' /set GOROOT/d' " $shell_profile "
sed -i " " ' /set GOPATH/d' " $shell_profile "
sed -i " " ' /set PATH $GOPATH\/bin $GOROOT\/bin $PATH/d' " $shell_profile "
else
sed -i " " ' /# GoLang/d' " $shell_profile "
sed -i " " ' /export GOROOT/d' " $shell_profile "
sed -i " " ' /$GOROOT\/bin/d' " $shell_profile "
sed -i " " ' /export GOPATH/d' " $shell_profile "
sed -i " " ' /$GOPATH\/bin/d' " $shell_profile "
fi
else
if [ " $shell " == " fish" ]; then
sed -i ' /# GoLang/d' " $shell_profile "
sed -i ' /set GOROOT/d' " $shell_profile "
sed -i ' /set GOPATH/d' " $shell_profile "
sed -i ' /set PATH $GOPATH\/bin $GOROOT\/bin $PATH/d' " $shell_profile "
else
sed -i ' /# GoLang/d' " $shell_profile "
sed -i ' /export GOROOT/d' " $shell_profile "
sed -i ' /$GOROOT\/bin/d' " $shell_profile "
sed -i ' /export GOPATH/d' " $shell_profile "
sed -i ' /$GOPATH\/bin/d' " $shell_profile "
fi
fi
echo " Go removed."
exit 0
elif [ " $1 " == " --help" ]; then
print_help
exit 0
elif [ " $1 " == " --version" ]; then
if [ -z " $2 " ]; then # Check if --version has a second positional parameter
echo " Please provide a version number for: $1 "
else
VERSION=$2
fi
elif [ ! -z " $1 " ]; then
echo " Unrecognized option: $1 "
exit 1
fi
if [ -d " $GOROOT " ]; then
echo " The Go install directory ($GOROOT ) already exists. Exiting."
exit 1
fi
PACKAGE_NAME=" go$VERSION .$PLATFORM .tar.gz"
TEMP_DIRECTORY=$( mktemp -d)
echo " Downloading $PACKAGE_NAME ..."
if hash wget 2> /dev/null; then
wget https://storage.googleapis.com/golang/$PACKAGE_NAME -O " $TEMP_DIRECTORY /go.tar.gz"
else
curl -o " $TEMP_DIRECTORY /go.tar.gz" https://storage.googleapis.com/golang/$PACKAGE_NAME
fi
if [ $? -ne 0 ]; then
echo " Download failed! Exiting."
exit 1
fi
echo " Extracting File..."
mkdir -p " $GOROOT "
tar -C " $GOROOT " --strip-components=1 -xzf " $TEMP_DIRECTORY /go.tar.gz"
echo " Configuring shell profile in: $shell_profile "
touch " $shell_profile "
if [ " $shell " == " fish" ]; then
{
echo -e ' \n# GoLang'
echo " set GOROOT '${GOROOT} '"
echo " set GOPATH '$GOPATH '"
echo ' set PATH $GOPATH/bin $GOROOT/bin $PATH'
} >> " $shell_profile "
else
{
echo -e ' \n# GoLang'
echo " export GOROOT=${GOROOT} "
echo ' export PATH=$GOROOT/bin:$PATH'
echo " export GOPATH=$GOPATH "
echo ' export PATH=$GOPATH/bin:$PATH'
} >> " $shell_profile "
fi
mkdir -p " ${GOPATH} /" {src,pkg,bin}
echo -e " \nGo $VERSION was installed into $GOROOT .\nMake sure to relogin into your shell or run:"
echo -e " \n\tsource $shell_profile \n\nto update your environment variables."
echo " Tip: Opening a new terminal window usually just works. :)"
rm -f " $TEMP_DIRECTORY /go.tar.gz"
GOMAXPROCS=2 go install -v github.com/bettercap/bettercap@latest