diff --git a/character-counter-alt/.travis.yml b/character-counter-alt/.travis.yml new file mode 100644 index 0000000..a03fc20 --- /dev/null +++ b/character-counter-alt/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +compiler: gcc +jobs: + include: + - os: linux + dist: focal + - os: linux + dist: xenial + - os: osx +env: + - BUILD_TYPE=Debug +script: + - echo 1 | ./install.sh + - cat test-input.txt | ~/.local/bin/$(basename $PWD) + - echo 1 | ./uninstall.sh diff --git a/character-counter-alt/README.md b/character-counter-alt/README.md new file mode 100644 index 0000000..aade42d --- /dev/null +++ b/character-counter-alt/README.md @@ -0,0 +1,68 @@ +![Banner](info/banner.png) + +[![PGTechs](https://img.shields.io/static/v1.svg?color=ff0000&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=PG%20Techs&message=YouTube)](https://www.youtube.com/c/PGTechs "ช่อง YouTube ของเรา") +[![PGVCPlus](https://img.shields.io/static/v1.svg?color=0572e6&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=PGVC%2B&message=Facebook)](https://www.facebook.com/PrincegameRVCPlus "เพจข่าวสาร Distributed Computing ของเรา บน Facebook") + +อีกหนึ่งแอปพลิเคชันคุณภาพจาก SashaPGT + +* ทุกแอปพลิเคชันผ่านการทดสอบติดตั้งและใช้งานใน Test environment ของเรา + +* ใช้งานได้อย่างสะดวกรวดเร็ว ด้วยสคริปต์ติดตั้งแบบสำเร็จรูป ทั้งเฉพาะผู้ใช้และ System-wide + +* รองรับ Linux และ macOS + + + + +# sashapgt/character-counter-alt + +[![Build Status](https://app.travis-ci.com/sashapgt/character-counter-alt.svg?branch=main)](https://app.travis-ci.com/gitlab/sashapgt/character-counter-alt) + +"รับค่าประโยคมา 1 ประโยคจากนั้นให้เช็คว่าแต่ละตัวมีอักษรซ้ำกันมากน้อยแค่ไหน +(ตัวใหญ่ตัวเล็กมีค่าเท่ากัน)" + +โปรแกรมจะรับค่า Input นับแต่ละตัวอักษรว่ามีกี่ตัว แล้วแสดงผลออกมา + +**เป็นอีกเวอร์ชันหนึ่งของ character-counter ในเวอร์ชันนี้ จะใช้วิธีการเปลี่ยนพิมพ์เล็กเป็นพิมพ์ใหญ่ก่อน แล้วจึงนับรวมกันในครั้งเดียว** + +**ตัวอย่างการทำงานของโปรแกรม** + +![Screenshot](info/screenshot.png) + +# วิธีการติดตั้ง/ใช้งาน +### ติดตั้งแบบปกติ +1. โคลน git นี้ + + `$ git clone https://gitlab.com/sashapgt/character-counter-alt.git` + +2. cd เข้าโฟลเดอร์ของ git นี้ แล้วรันสคริปต์ติดตั้ง + + `$ cd character-counter-alt && bash install.sh` + +3. เรียกใช้จากเทอร์มินัล (Shell autocomplete อาจจะยังไม่ทำงาน กรุณาปิดเทอร์มินัล แล้วเปิดใหม่อีกครั้ง) + + `$ character-counter-alt` +### ใช้งานครั้งเดียว (Build, run และ remove ทันทีเมื่อใช้งานเสร็จโดยอัตโนมัติ) + $ bash single-use-build-and-run.sh + +# ถอนการติดตั้ง + + +1. รันสคริปต์ถอนการติดตั้งจากในโฟลเดอร์ git นี้ + + `$ bash uninstall.sh` + +2. ลบโฟลเดอร์ git นี้ + +# การแก้ปัญหา + +หากไม่สามารถรันได้เนื่องจาก Command not found ให้ดูว่ามี ~/.local/bin ใน $PATH หรือไม่ +สามารถตรวจสอบได้โดยการ + + echo $PATH + +หากไม่มี Home folder ของคุณ ตามด้วย .local/bin ให้เพิ่มบรรทัดนี้ลงใน Shell startup script ของคุณ (เช่น .bashrc .zshrc) + + export PATH="$PATH:$HOME/.local/bin" + + diff --git a/character-counter-alt/info/banner.png b/character-counter-alt/info/banner.png new file mode 100755 index 0000000..686ee90 Binary files /dev/null and b/character-counter-alt/info/banner.png differ diff --git a/character-counter-alt/info/screenshot.png b/character-counter-alt/info/screenshot.png new file mode 100644 index 0000000..bd91671 Binary files /dev/null and b/character-counter-alt/info/screenshot.png differ diff --git a/character-counter-alt/install.sh b/character-counter-alt/install.sh new file mode 100755 index 0000000..0e15104 --- /dev/null +++ b/character-counter-alt/install.sh @@ -0,0 +1,60 @@ +#!/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" diff --git a/character-counter-alt/main.cpp b/character-counter-alt/main.cpp new file mode 100644 index 0000000..1bac64f --- /dev/null +++ b/character-counter-alt/main.cpp @@ -0,0 +1,25 @@ +#include +#include + + +int main() { + char input[10000]; + int chars[26],i=0; + for(int j=0;j<26;j++)chars[j]=0; + printf("Input: "); + std::cin >>input; + while(input[i]!='\0') { + if((input[i]>=65&&input[i]<=90)||(input[i]>=97&&input[i]<=122)){ + if(input[i]>=97&&input[i]<=122){ + input[i]=input[i]-32; + } + chars[(int)input[i]-65]++; + } +// else if(input[i]>=97&&input[i]<=122){ +// chars[(int)input[i]-97]++; +// } + i++; + } + for(i=0;i<26;i++) printf("%c : %d\n", i+65, chars[i]); + return 0; +} diff --git a/character-counter-alt/single-use-build-and-run.sh b/character-counter-alt/single-use-build-and-run.sh new file mode 100755 index 0000000..1a6e2bf --- /dev/null +++ b/character-counter-alt/single-use-build-and-run.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +g++ -o main main.cpp + +./main + +rm main diff --git a/character-counter-alt/test-input.txt b/character-counter-alt/test-input.txt new file mode 100644 index 0000000..a61067c --- /dev/null +++ b/character-counter-alt/test-input.txt @@ -0,0 +1 @@ +Loremipsumdolorsitamet,consecteturadipiscingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.Utenimadminimveniam,quisnostrudexercitationullamcolaborisnisiutaliquipexeacommodoconsequat.Duisauteiruredolorinreprehenderitinvoluptatevelitessecillumdoloreeufugiatnullapariatur.Excepteursintoccaecatcupidatatnonproident,suntinculpaquiofficiadeseruntmollitanimidestlaborum. diff --git a/character-counter-alt/uninstall.sh b/character-counter-alt/uninstall.sh new file mode 100755 index 0000000..c96ef80 --- /dev/null +++ b/character-counter-alt/uninstall.sh @@ -0,0 +1,74 @@ +#!/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] : " UNINSTALLCHOICE + + until [[ -z "$UNINSTALLCHOICE" || "$UNINSTALLCHOICE" =~ ^[1-2]$ ]]; do + printf "\n$UNINSTALLCHOICE: ค่าที่ใส่ไม่ถูกต้อง\n\n" + read -p "ใส่คำตอบของคุณ [1] : " UNINSTALLCHOICE + done + case "$UNINSTALLCHOICE" in + 1|"") + exit + ;; + 2) + DIR=$DIR2 + if [[ -f "$DIR/$APPNAME" ]]; then + echo "กำลังถอนการติดตั้ง $APPNAME จาก $DIR" + rm $DIR/$APPNAME + else + echo "ไม่สามารถถอนการติดตั้งได้เนื่องจากยังไม่ได้ติดตั้งแอปพลิเคชันใน $DIR" + fi + ;; + esac + else + echo " " + echo "เลือกผู้ใช้ที่ต้องการถอนติดตั้งให้" + echo " " + echo "1) $USER ($DIR1)" + echo "2) ทุกคน ($DIR2)" + echo " " + read -p "ใส่คำตอบของคุณ : " UNINSTALLCHOICE + until [[ -z "$UNINSTALLCHOICE" || "$UNINSTALLCHOICE" =~ ^[1-2]$ ]]; do + echo "$UNINSTALLCHOICE: ค่าที่ใส่ไม่ถูกต้อง" + read -p "ใส่คำตอบของคุณ :" UNINSTALLCHOICE + done + case "$UNINSTALLCHOICE" in + 1) + DIR=$DIR1 + if [[ -f "$DIR/$APPNAME" ]]; then + printf "\nกำลังถอนการติดตั้ง $APPNAME จาก $DIR\n" + rm $DIR/$APPNAME + else + printf "\nไม่สามารถถอนการติดตั้งได้เนื่องจากยังไม่ได้ติดตั้งแอปพลิเคชันใน $DIR" + exit + fi + ;; + 2) + DIR=$DIR2 + if [[ -f "$DIR/$APPNAME" ]]; then + printf "\nกำลังถอนการติดตั้ง $APPNAME จาก $DIR\n" + printf "\nกรุณาใส่รหัสผ่าน sudo หากถูกถามขณะถอนการติดตั้ง\n\n" + sudo rm $DIR/$APPNAME + else + printf "\nไม่สามารถถอนการติดตั้งได้เนื่องจากยังไม่ได้ติดตั้งแอปพลิเคชันใน $DIR" + exit + fi + ;; + "") + exit + ;; + esac + fi + printf "\nการถอนการติดตั้ง $APPNAME จาก $DIR เสร็จสมบูรณ์\n" diff --git a/character-counter/.travis.yml b/character-counter/.travis.yml new file mode 100644 index 0000000..a03fc20 --- /dev/null +++ b/character-counter/.travis.yml @@ -0,0 +1,15 @@ +language: cpp +compiler: gcc +jobs: + include: + - os: linux + dist: focal + - os: linux + dist: xenial + - os: osx +env: + - BUILD_TYPE=Debug +script: + - echo 1 | ./install.sh + - cat test-input.txt | ~/.local/bin/$(basename $PWD) + - echo 1 | ./uninstall.sh diff --git a/character-counter/README.md b/character-counter/README.md new file mode 100644 index 0000000..f3cb95c --- /dev/null +++ b/character-counter/README.md @@ -0,0 +1,69 @@ +![Banner](info/banner.png) + +[![PGTechs](https://img.shields.io/static/v1.svg?color=ff0000&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=PG%20Techs&message=YouTube)](https://www.youtube.com/c/PGTechs "ช่อง YouTube ของเรา") +[![PGVCPlus](https://img.shields.io/static/v1.svg?color=0572e6&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=PGVC%2B&message=Facebook)](https://www.facebook.com/PrincegameRVCPlus "เพจข่าวสาร Distributed Computing ของเรา บน Facebook") + +อีกหนึ่งแอปพลิเคชันคุณภาพจาก SashaPGT + +* ทุกแอปพลิเคชันผ่านการทดสอบติดตั้งและใช้งานใน Test environment ของเรา + +* ใช้งานได้อย่างสะดวกรวดเร็ว ด้วยสคริปต์ติดตั้งแบบสำเร็จรูป ทั้งเฉพาะผู้ใช้และ System-wide + +* รองรับ Linux และ macOS + + + + +# sashapgt/character-counter + +[![Build Status](https://app.travis-ci.com/sashapgt/character-counter.svg?branch=main)](https://app.travis-ci.com/gitlab/sashapgt/character-counter) + +"รับค่าประโยคมา 1 ประโยคจากนั้นให้เช็คว่าแต่ละตัวมีอักษรซ้ำกันมากน้อยแค่ไหน +(ตัวใหญ่ตัวเล็กมีค่าเท่ากัน) +" + +โปรแกรมจะรับค่า Input นับแต่ละตัวอักษรว่ามีกี่ตัว แล้วแสดงผลออกมา + + + +**ตัวอย่างการทำงานของโปรแกรม** + +![Screenshot](info/screenshot.png) + +# วิธีการติดตั้ง/ใช้งาน +### ติดตั้งแบบปกติ +1. โคลน git นี้ + + `$ git clone https://gitlab.com/sashapgt/character-counter.git` + +2. cd เข้าโฟลเดอร์ของ git นี้ แล้วรันสคริปต์ติดตั้ง + + `$ cd character-counter && bash install.sh` + +3. เรียกใช้จากเทอร์มินัล (Shell autocomplete อาจจะยังไม่ทำงาน กรุณาปิดเทอร์มินัล แล้วเปิดใหม่อีกครั้ง) + + `$ character-counter` +### ใช้งานครั้งเดียว (Build, run และ remove ทันทีเมื่อใช้งานเสร็จโดยอัตโนมัติ) + $ bash single-use-build-and-run.sh + +# ถอนการติดตั้ง + + +1. รันสคริปต์ถอนการติดตั้งจากในโฟลเดอร์ git นี้ + + `$ bash uninstall.sh` + +2. ลบโฟลเดอร์ git นี้ + +# การแก้ปัญหา + +หากไม่สามารถรันได้เนื่องจาก Command not found ให้ดูว่ามี ~/.local/bin ใน $PATH หรือไม่ +สามารถตรวจสอบได้โดยการ + + echo $PATH + +หากไม่มี Home folder ของคุณ ตามด้วย .local/bin ให้เพิ่มบรรทัดนี้ลงใน Shell startup script ของคุณ (เช่น .bashrc .zshrc) + + export PATH="$PATH:$HOME/.local/bin" + + diff --git a/character-counter/info/banner.png b/character-counter/info/banner.png new file mode 100755 index 0000000..686ee90 Binary files /dev/null and b/character-counter/info/banner.png differ diff --git a/character-counter/info/screenshot.png b/character-counter/info/screenshot.png new file mode 100644 index 0000000..ee823f8 Binary files /dev/null and b/character-counter/info/screenshot.png differ diff --git a/character-counter/install.sh b/character-counter/install.sh new file mode 100755 index 0000000..0e15104 --- /dev/null +++ b/character-counter/install.sh @@ -0,0 +1,60 @@ +#!/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" diff --git a/character-counter/main.cpp b/character-counter/main.cpp new file mode 100644 index 0000000..52844a5 --- /dev/null +++ b/character-counter/main.cpp @@ -0,0 +1,22 @@ +#include +#include + + +int main() { + char input[10000]; + int chars[26],i=0; + for(int j=0;j<26;j++)chars[j]=0; + printf("Input: "); + std::cin >>input; + while(input[i]!='\0') { + if(input[i]>=65&&input[i]<=90){ + chars[(int)input[i]-65]++; + } + else if(input[i]>=97&&input[i]<=122){ + chars[(int)input[i]-97]++; + } + i++; + } + for(i=0;i<26;i++) printf("%c : %d\n", i+65, chars[i]); + return 0; +} diff --git a/character-counter/single-use-build-and-run.sh b/character-counter/single-use-build-and-run.sh new file mode 100755 index 0000000..1a6e2bf --- /dev/null +++ b/character-counter/single-use-build-and-run.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +g++ -o main main.cpp + +./main + +rm main diff --git a/character-counter/test-input.txt b/character-counter/test-input.txt new file mode 100644 index 0000000..5f64545 --- /dev/null +++ b/character-counter/test-input.txt @@ -0,0 +1,3 @@ +IdjustliketointerjectforamomentWhatyou'rereferingtoasLinux,isinfact,GNU/Linux,orasI'verecentlytakentocallingit,GNUplusLinux.Linuxisnotanoperatingsystemuntoitself,butratheranotherfreecomponentofafullyfunctioningGNUsystemmadeusefulbytheGNUcorelibs,shellutilitiesandvitalsystemcomponentscomprisingafullOSasdefinedbyPOSIX. +ManycomputerusersrunamodifiedversionoftheGNUsystemeveryday,withoutrealizingit.Throughapeculiarturnofevents,theversionofGNUwhichiswidelyusedtodayisoftencalledLinux,andmanyofitsusersarenotawarethatitisbasicallytheGNUsystem,developedbytheGNUProject. +TherereallyisaLinux,andthesepeopleareusingit,butitisjustapartofthesystemtheyuse.Linuxisthekernel:theprograminthesystemthatallocatesthemachine'sresourcestotheotherprogramsthatyourun.Thekernelisanessentialpartofanoperatingsystem,butuselessbyitself;itcanonlyfunctioninthecontextofacompleteoperatingsystem.LinuxisnormallyusedincombinationwiththeGNUoperatingsystem:thewholesystemisbasicallyGNUwithLinuxadded,orGNU/Linux.Alltheso-calledLinuxdistributionsarereallydistributionsofGNU/Linux! diff --git a/character-counter/uninstall.sh b/character-counter/uninstall.sh new file mode 100755 index 0000000..c96ef80 --- /dev/null +++ b/character-counter/uninstall.sh @@ -0,0 +1,74 @@ +#!/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] : " UNINSTALLCHOICE + + until [[ -z "$UNINSTALLCHOICE" || "$UNINSTALLCHOICE" =~ ^[1-2]$ ]]; do + printf "\n$UNINSTALLCHOICE: ค่าที่ใส่ไม่ถูกต้อง\n\n" + read -p "ใส่คำตอบของคุณ [1] : " UNINSTALLCHOICE + done + case "$UNINSTALLCHOICE" in + 1|"") + exit + ;; + 2) + DIR=$DIR2 + if [[ -f "$DIR/$APPNAME" ]]; then + echo "กำลังถอนการติดตั้ง $APPNAME จาก $DIR" + rm $DIR/$APPNAME + else + echo "ไม่สามารถถอนการติดตั้งได้เนื่องจากยังไม่ได้ติดตั้งแอปพลิเคชันใน $DIR" + fi + ;; + esac + else + echo " " + echo "เลือกผู้ใช้ที่ต้องการถอนติดตั้งให้" + echo " " + echo "1) $USER ($DIR1)" + echo "2) ทุกคน ($DIR2)" + echo " " + read -p "ใส่คำตอบของคุณ : " UNINSTALLCHOICE + until [[ -z "$UNINSTALLCHOICE" || "$UNINSTALLCHOICE" =~ ^[1-2]$ ]]; do + echo "$UNINSTALLCHOICE: ค่าที่ใส่ไม่ถูกต้อง" + read -p "ใส่คำตอบของคุณ :" UNINSTALLCHOICE + done + case "$UNINSTALLCHOICE" in + 1) + DIR=$DIR1 + if [[ -f "$DIR/$APPNAME" ]]; then + printf "\nกำลังถอนการติดตั้ง $APPNAME จาก $DIR\n" + rm $DIR/$APPNAME + else + printf "\nไม่สามารถถอนการติดตั้งได้เนื่องจากยังไม่ได้ติดตั้งแอปพลิเคชันใน $DIR" + exit + fi + ;; + 2) + DIR=$DIR2 + if [[ -f "$DIR/$APPNAME" ]]; then + printf "\nกำลังถอนการติดตั้ง $APPNAME จาก $DIR\n" + printf "\nกรุณาใส่รหัสผ่าน sudo หากถูกถามขณะถอนการติดตั้ง\n\n" + sudo rm $DIR/$APPNAME + else + printf "\nไม่สามารถถอนการติดตั้งได้เนื่องจากยังไม่ได้ติดตั้งแอปพลิเคชันใน $DIR" + exit + fi + ;; + "") + exit + ;; + esac + fi + printf "\nการถอนการติดตั้ง $APPNAME จาก $DIR เสร็จสมบูรณ์\n"