kmitl-profund-exercise/string-case-swapper-alt/install.sh

60 lines
2.6 KiB
Bash
Executable file

#!/bin/bash
DIR1=$HOME/.local/bin
DIR2=/usr/local/bin
APPNAME=$(basename $PWD)
clear
if [[ "${EUID}" -eq 0 ]]; then
echo " "
echo "คุณกำลังใช้สิทธิ์ Root! ต้องการดำเนินการติดตั้งต่อใน $DIR2 หรือไม่"
echo " "
echo "1) ไม่"
echo "2) ใช่"
echo " "
read -p "ใส่คำตอบของคุณ [1] : " INSTALLCHOICE
until [[ -z "$INSTALLCHOICE" || "$INSTALLCHOICE" =~ ^[1-2]$ ]]; do
printf "\n$INSTALLCHOICE: ค่าที่ใส่ไม่ถูกต้อง\n\n"
read -p "ใส่คำตอบของคุณ [1] : " INSTALLCHOICE
done
case "$INSTALLCHOICE" in
1|"")
exit
;;
2)
DIR=$DIR2
printf "\nกำลัง Build และติดตั้ง $APPNAME ใน $DIR\n"
g++ -o $APPNAME main.cpp && mv $APPNAME $DIR
;;
esac
else
echo " "
echo "เลือกผู้ใช้ที่ต้องการติดตั้งให้"
echo " "
echo "1) $USER ($DIR1)"
echo "2) ทุกคน ($DIR2)"
echo " "
read -p "ใส่คำตอบของคุณ [1] : " INSTALLCHOICE
until [[ -z "$INSTALLCHOICE" || "$INSTALLCHOICE" =~ ^[1-2]$ ]]; do
printf "\n$INSTALLCHOICE: ค่าที่ใส่ไม่ถูกต้อง\n\n"
read -p "ใส่คำตอบของคุณ [1] : " INSTALLCHOICE
done
case "$INSTALLCHOICE" in
1|"")
DIR=$DIR1
if [[ ! -d "$DIR" ]]; then
mkdir -p $DIR
fi
printf "\nกำลัง Build และติดตั้ง $APPNAME ใน $DIR\n"
g++ -o $APPNAME main.cpp && mv $APPNAME $DIR
;;
2)
DIR=$DIR2
printf "\nกำลัง Build และติดตั้ง $APPNAME ใน $DIR\n"
printf "\nกรุณาใส่รหัสผ่าน sudo หากถูกถามในการติดตั้ง\n\n"
g++ -o $APPNAME main.cpp && sudo mv $APPNAME $DIR
;;
esac
fi
printf "\nการติดตั้ง $APPNAME ใน $DIR เสร็จสมบูรณ์\n"