Skip to content

Instantly share code, notes, and snippets.

@ryanmoon
Created December 11, 2018 20:25
Show Gist options
  • Save ryanmoon/2c18c99465cc837dd7559d08f88ff372 to your computer and use it in GitHub Desktop.
Save ryanmoon/2c18c99465cc837dd7559d08f88ff372 to your computer and use it in GitHub Desktop.
Script to remove ChefDK on MacOS
#!/bin/bash
################
# REMOVE CHEFDK
################
# Removes the chefdk on MacOS
# Version 0.1.3
# 2018/12/11
# Ryan Moon
#################
#############
# SUDO CHECK
#############
sudo_check() {
echo "SUDO CHECK"
if [[ "$EUID" -ne 0 ]]; then
echo "RESULT: πŸ›‘"
echo "Please run this command via sudo"
exit
else
echo "RESULT: βœ…"
fi
}
####################
# CHECK FOR INSTALL
####################
chefdk_check() {
if [[ -d /opt/chefdk ]]; then
echo "Found ChefDK, will remove now. πŸ‘·πŸ½β€β™€οΈ"
else
echo "chefdk is not found at /opt, will exit now. πŸ‘©πŸ»β€βš•οΈ"
exit
fi
}
######################
# REMOVE CHEFDK FILES
######################
chefdk_files() {
chefdk=(
berks
chef
chef-apply
chef-solo
chef-zero
chef-client
chef-server-manager
chef-shell
fauxhai
foodcritic
kitchen
knife
nokogiri
ohai
rubocop
ruby-parse
ruby-rewrite
shef
strain
strainer
tt
)
for ((i=0; i<${#chefdk[@]}; i++)); do
if [[ -e /usr/local/bin/"${chefdk[$i]}" ]]; then
echo "Found ${chefdk[$i]}, will remove ${chefdk[$i]}"
rm /usr/local/bin/"${chefdk[$i]}"
fi
done
}
#############
# PKG FORGET
#############
pkg_forget() {
check_receipts=$(pkgutil --pkgs | grep -wc com.getchef.pkg.chefdk)
if [[ "$check_receipts" == "1" ]]; then
pkgutil --forget com.getchef.pkg.chefdk
echo "Removed pkg from receipt DB. πŸ“Š"
fi
}
#######
# MAIN
#######
main() {
chefdk_check
chefdk_files
pkg_forget
echo "ChefDK has been removed from the system. πŸ‘―β€β™‚οΈ"
}
#########
# SCRIPT
#########
main "$@"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment