120 lines
3.8 KiB
Bash
120 lines
3.8 KiB
Bash
|
#!usr//bin/env bash
|
||
|
:<<'info'
|
||
|
shellnotes - uninstall.sh
|
||
|
(C) Dimitris Marakomihelakis
|
||
|
Released under the "All rights reserved" category. See the RIGHTS.txt file
|
||
|
in /docs/github/ for its full text.
|
||
|
info
|
||
|
clear
|
||
|
echo "Choose an option"
|
||
|
echo "----------------"
|
||
|
echo "1.Uninstall shellnotes and delete all files."
|
||
|
echo "2.Disable shellnotes and all its commands, but keep the files in your system."
|
||
|
echo "3.Enable shellnotes."
|
||
|
echo ""
|
||
|
echo -n "[1,2,3]: " && read option
|
||
|
if [ $option = "1" ]; then
|
||
|
if [ -e ~/.shellnotes/.shellnotes.sh ]; then
|
||
|
echo -n "Are you sure you want to delete Shellnotes?[Y/N]: " && read delete
|
||
|
case $delete in y|Y|YES|Yes|yes )
|
||
|
cd ~/.shellnotes/
|
||
|
rm -rfv ~/.shellnotes/.* 2>/dev/null
|
||
|
rm -f ~/.shellnotes/* 2>/dev/null
|
||
|
rm -rf ~/.shellnotes/docs 2>/dev/null
|
||
|
rm -rf ~/.shellnotes/util 2>/dev/null
|
||
|
rm -rf ~/.shellnotes/ver 2>/dev/null
|
||
|
rm -rf ~/.shellnotes/logs 2>/dev/null
|
||
|
rm -rf ~/.shellnotes/def 2>/dev/null
|
||
|
rm -rf ~/.shellnotes/image 2>/dev/null
|
||
|
cd ..
|
||
|
rmdir .shellnotes
|
||
|
if [ -n "`$SHELL -c 'echo $ZSH_VERSION'`" ]; then
|
||
|
if grep -q 'source ~/.shellnotes/.shellnotes.sh' ~/.zshrc; then
|
||
|
sed -i '/shellnotes/d' .zshrc
|
||
|
clear
|
||
|
echo "Shellnotes is uninstalled"
|
||
|
echo "--------------------------"
|
||
|
echo "It was fun taking notes with you!"
|
||
|
fi
|
||
|
elif [ -n "`$SHELL -c 'echo $BASH_VERSION'`" ]; then
|
||
|
if grep -q 'source ~/.shellnotes/.shellnotes.sh' ~/.bashrc; then
|
||
|
sed -i '/shellnotes/d' ~/.bashrc
|
||
|
clear
|
||
|
echo "Shellnotes is uninstalled"
|
||
|
echo "--------------------------"
|
||
|
echo "It was fun taking notes with you!"
|
||
|
fi
|
||
|
elif [ -n "`$SHELL -c 'echo $CSH_VERSION'`" ]; then
|
||
|
if grep -q 'source ~/.shellnotes/.shellnotes.sh' ~/.cshrc; then
|
||
|
sed -i '/shellnotes/d' ~/.cshrc
|
||
|
clear
|
||
|
echo "Shellnotes is uninstalled"
|
||
|
echo "--------------------------"
|
||
|
echo "It was fun taking notes with you!"
|
||
|
fi
|
||
|
elif [ -n "`$SHELL -c 'echo $KSH_VERSION'`" ]; then
|
||
|
if grep -q 'source ~/.shellnotes/.shellnotes.sh' ~/.kshrc; then
|
||
|
sed -i '/shellnotes/d' ~/.kshrc
|
||
|
clear
|
||
|
echo "Shellnotes is uninstalled"
|
||
|
echo "--------------------------"
|
||
|
echo "It was fun taking notes with you!"
|
||
|
fi
|
||
|
elif [ -n "`$SHELL -c 'echo $FISH_VERSION'`" ]; then
|
||
|
if grep -q 'source ~/.shellnotes/.shellnotes.sh' ~/.fishrc; then
|
||
|
sed -i '/shellnotes/d' ~/.fishrc
|
||
|
clear
|
||
|
echo "Shellnotes is uninstalled"
|
||
|
echo "--------------------------"
|
||
|
echo "It was fun taking notes with you!"
|
||
|
fi
|
||
|
else
|
||
|
echo "Your shell is not supported."
|
||
|
cd ~/.shellnotes/util/failed
|
||
|
g++ uninfailed.cpp -o uninfailed
|
||
|
~/.shellnotes/util/failed/uninfailed
|
||
|
rm -f uninfailed
|
||
|
cd $dir
|
||
|
fi
|
||
|
esac
|
||
|
else
|
||
|
echo "An error occured."
|
||
|
echo "Shellnotes is not installed."
|
||
|
cd ~/.shellnotes/util/failed
|
||
|
g++ uninfailed.cpp -o uninfailed
|
||
|
~/.shellnotes/util/failed/uninfailed
|
||
|
rm -f uninfailed
|
||
|
cd $dir
|
||
|
fi
|
||
|
|
||
|
|
||
|
elif [ $option = "2" ]; then
|
||
|
if grep 'return' <~/.shellnotes/.shellnotes.sh >/dev/null; then
|
||
|
echo "Shellnotes is already disabled."
|
||
|
cd ~/.shellnotes/util/failed
|
||
|
g++ disfailed.cpp -o disfailed
|
||
|
~/.shellnotes/util/failed/disfailed
|
||
|
rm -f disfailed
|
||
|
cd $dir
|
||
|
else
|
||
|
sed -i '2 i\return 0 #Shellnotes is disabled by the user. Do not change this line.' ~/.shellnotes/.shellnotes.sh
|
||
|
echo "Shellnotes is now disabled. To enable, run this script again and choose option (3)."
|
||
|
fi
|
||
|
elif [ $option = "3" ]; then
|
||
|
if grep 'return' <~/.shellnotes/.shellnotes.sh >/dev/null; then
|
||
|
sed -i '2d' ~/.shellnotes/.shellnotes.sh
|
||
|
echo "Shellnotes is now enabled. Please restart your terminal."
|
||
|
else
|
||
|
echo "Shellnotes is already enabled."
|
||
|
cd ~/.shellnotes/util/failed
|
||
|
g++ enfailed.cpp -o enfailed
|
||
|
~/.shellnotes/util/failed/enfailed
|
||
|
rm -f enfailed
|
||
|
cd $dir
|
||
|
fi
|
||
|
else
|
||
|
echo "This is not an option."
|
||
|
fi
|
||
|
|
||
|
|
||
|
|