From 33ea6fef328b79b1f3026273004c1fe04304a20a Mon Sep 17 00:00:00 2001 From: Zois Pagoulatos Date: Thu, 22 Oct 2020 14:47:10 +0200 Subject: [PATCH] =?UTF-8?q?[FEATURE]=20=E2=9C=A8=20=CE=A0=CF=81=CE=BF?= =?UTF-8?q?=CF=83=CE=B8=CE=AE=CE=BA=CE=B7=20=CE=BB=CE=B5=CE=B9=CF=84=CE=BF?= =?UTF-8?q?=CF=85=CF=81=CE=B3=CE=AF=CE=B1=CF=82=20self-update=20(#96)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [FEATURE] ✨ Προσθήκη λειτουργίας self-update * Bump to version 3.0.0 * [DOC] Ενημέρωση τρόπων αναβάθμισης από >= 3.0.0 Co-authored-by: Salih Emin --- README.md | 25 ++++++++++++++++++------- shelldio.sh | 40 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 57 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 1f9601d..6701179 100644 --- a/README.md +++ b/README.md @@ -67,12 +67,6 @@ sudo ln -s ~/shelldio/shelldio.sh /usr/local/bin/shelldio ## Οδηγίες Αναβάθμισης -Για να κατεβάσετε νέους σταθμούς που μπορεί κατά καιρούς να προσθέτουμε, τρέξτε στο τερματικό : - -``` bash -shelldio --fresh -``` - Για να κατεβάσετε νέες εκδόσεις του **shelldio** που περιλαμβάνουν διορθώσεις και νέα χαρακτηριστικά τότε διαβάστε παρακάτω (ανάλογα με την διανομή σας). ### Arch Linux @@ -81,12 +75,25 @@ shelldio --fresh ### Υπόλοιπα λειτουργικά συστήματα -Μπείτε στον φάκελο shelldio που κάνατε clone και τρέξετε pull. π.χ. +Ξεκινώντας από την έκδοση v3.0.0 και έπειτα, δίδεται η δυνατότητα να κάνετε αναβάθμιση εκτελώντας την εντολη + +```bash +shelldio -u +``` + +Για τις παλιότερες εκδόσεις, μπείτε στον φάκελο shelldio που κάνατε clone και τρέξετε pull. π.χ. ``` bash cd ~/shelldio git pull ``` +### Λήψη νέων σταθμών + +Για να κατεβάσετε νέους σταθμούς που μπορεί κατά καιρούς να προσθέτουμε, τρέξτε στο τερματικό : + +``` bash +shelldio --fresh +``` ## Οδηγίες Απεγκατάστασης @@ -164,6 +171,10 @@ shelldio δίνει την δυνατότητα να αφαιρέσετε όποια θέλετε (από το $my_stations) + -u, --update: Σας δίνει την δυνατότητα να κάνετε αναβάθμιση του Shelldio στην νεότερη διαθέσιμη έκδοση. + Προσοχή, η αναβάθμιση με αυτόν τον τρόπο ισχύει μόνο για αυτούς που έκαναν εγκατάσταση το shelldio + με git clone και όχι απο πακέτο εγκατάστασης (π.χ. στο Arch Linux) + --reset: Προσοχή - Καθαρίζει τη λίστα με τους σταθμούς που έχετε προσθέσει στα αγαπημένα σας διαγράφοντας το αρχείο $my_stations. Είναι χρήσιμο αν θέλετε να ξεκινήσετε απο την αρχή την δημιουργία της λίστας των αγαπημένων σας. diff --git a/shelldio.sh b/shelldio.sh index 26fd7ee..9bb43e6 100755 --- a/shelldio.sh +++ b/shelldio.sh @@ -13,8 +13,19 @@ # Please read the file LICENSE and README for more information. # +### Colors +if [ -t 1 ]; then + RED=$(printf '\033[31m') + BLUE=$(printf '\033[34m') + RESET=$(printf '\033[m') +else + RED="" + BLUE="" + RESET="" +fi + ### Variable List -version="v2.4.1 " # this space after the version num is intentional to fix UI +version="v3.0.0 " # this space after the version num is intentional to fix UI all_stations="$HOME/.shelldio/all_stations.txt" my_stations="$HOME/.shelldio/my_stations.txt" @@ -102,6 +113,10 @@ option_detail() { δίνει την δυνατότητα να αφαιρέσετε όποια θέλετε (από το $my_stations) + -u, --update: Σας δίνει την δυνατότητα να κάνετε αναβάθμιση του Shelldio στην νεότερη διαθέσιμη έκδοση. + Προσοχή, η αναβάθμιση με αυτόν τον τρόπο ισχύει μόνο για αυτούς που έκαναν εγκατάσταση το shelldio + με git clone και όχι απο πακέτο εγκατάστασης (π.χ. στο Arch Linux) + --reset: Προσοχή - Καθαρίζει τη λίστα με τους σταθμούς που έχετε προσθέσει στα αγαπημένα σας διαγράφοντας το αρχείο $my_stations. Είναι χρήσιμο αν θέλετε να ξεκινήσετε απο την αρχή την δημιουργία της λίστας των αγαπημένων σας. @@ -224,6 +239,26 @@ reset_favorites() { exit 0 } +self_update() { + if ! command -v git &>/dev/null; then + return + fi + + read -rp "Θέλεις να γίνει αναβάθμιση του shelldio; (y/n)" update_confirm + case $update_confirm in + [Yy]*) + printf "${BLUE}%s${RESET}\n" "Γίνεται αναβάθμιση του shelldio" + if git pull --rebase --stat origin master; then + printf "${BLUE}%s${RESET}\n" "Ολοκληρώθηκε η αναβάθμιση του shelldio." + else + printf "${RED}%s${RESET}\n" 'Κάποιο πρόβλημα παρουσιάστηκε κατά την αναβάθμιση. Δοκίμασε ξανά αργότερα' + fi + ;; + [Nn]*) exit ;; + *) echo "Παρακαλώ απαντήστε με y (ναι) ή n (όχι)" ;; + esac +} + ### Λίστα με τις επιλογές σαν 1ο όρισμα shelldio while [ "$1" != "" ]; do @@ -286,6 +321,9 @@ while [ "$1" != "" ]; do curl -sL https://raw.githubusercontent.com/CerebruxCode/shelldio/stable/.shelldio/all_stations.txt --output "$HOME/.shelldio/all_stations.txt" exit 0 ;; + -u | --update) + self_update + ;; *) echo "Λάθος επιλογή." echo "Εκτέλεσε shelldio --help για να δεις τις δυνατές επιλογές!"