Erweiterte Funktionalitäten

- Programmaufruf mit Optionen möglich
- Logseq kann deinstalliert werden
- Warnung, wenn Logseq als root installiert wird
This commit is contained in:
Tim Peters 2022-08-18 20:55:37 +02:00
parent 5844b0b535
commit 362714817d
2 changed files with 69 additions and 5 deletions

View File

@ -1,11 +1,26 @@
# Logseq Installer
Das Skript vereinfacht den Installations- bzw. Aktualisierungprozess von Logseq und fügt einen Eintrag ins Startmenü hinzu, wodurch sich die Anwendung auf herkömmliche Weise starten lässt.
Das Skript vereinfacht den Installations- bzw. Aktualisierungprozess von Logseq unter Linux und reiht die Applikation ins Startmenü ein.
Zum einfachen Starten des Logseq Installers die folgende Zeile in ein Terminal einfügen:
Den Logseq Installer startest Du mit folgendem Aufruf in einem Terminal:
```bash
wget -qO - https://git.tim-peters.org/Tim/Logseq-Installer/raw/branch/main/logseq-install.sh | bash
```
### Programmaufruf
```
Logseq Installer
================
Erlaubte Optionen:
-h | --hilfe --- Zeigt diese Hilfe an
-e | --entfernen --- Deinstalliert Logseq
-r | --root --- Erlaubt die Installation als root
```
![](./Screenshot.png)

View File

@ -1,12 +1,10 @@
#!/bin/bash -e
### Von Tim Peters
### https://git.tim-peters.org/Tim/Logseq-Installer
COLOR_RED=$( tput setaf 1 )
COLOR_GREEN=$( tput setaf 2 )
COLOR_YELLOW=$( tput setaf 3 )
COLOR_RESET=$( tput sgr0 )
ALLOW_ROOT=false
trap 'handleError' ERR
@ -43,6 +41,26 @@ showLogo() {
echo -n "${COLOR_RESET}"
}
showHelp() {
[ $# -gt 0 ] && echo "$*" && echo ""
cat <<-EOT
Logseq Installer
================
Erlaubte Optionen:
-h | --hilfe --- Zeigt diese Hilfe an
-e | --entfernen --- Deinstalliert Logseq
-r | --root --- Erlaubt die Installation als root
Geschrieben von Tim Peters
---> https://git.tim-peters.org/Tim/Logseq-Installer
EOT
exit 1
}
getVersionLatest() {
VERSION_LATEST="$( wget -qO - https://github.com/logseq/logseq/releases/latest | grep -Poi "Logseq-linux-x64-\K\d\.\d\.\d" | head -n 1 )"
}
@ -83,6 +101,14 @@ getLatest() {
ln -s "$DIR_DEST/$FILENAME_LOGSEQ" "$FILE_LINK"
}
doUninstall() {
rm -f ~/.local/bin/Logseq* "${HOME}"/.local/share/applications/logseq.*
update-desktop-database ~/.local/share/applications
echo "Logseq wurde deinstalliert"
exit
}
createDesktop() {
local FILE_PNG=${HOME}/.local/share/applications/logseq.png
[ -f "$FILE_PNG" ] || wget https://raw.githubusercontent.com/logseq/logseq/master/resources/icons/logseq.png -qO "$FILE_PNG"
@ -103,6 +129,29 @@ createDesktop() {
update-desktop-database ~/.local/share/applications
}
optspec=":her-:"
while getopts "${optspec}" OPT; do
[ "${OPT}" = " " ] && continue
if [ "${OPT}" = "-" ]; then
OPT="${OPTARG%%=*}"
OPTARG="${OPTARG#$OPT}"
OPTARG="${OPTARG#=}"
fi
case "${OPT}" in
h | hilfe ) showHelp ;;
e | entfernen ) doUninstall ;;
r | root ) ALLOW_ROOT=true ;;
[^\?]* ) showHelp "Unbekannte Option: --${OPT}"; exit 2 ;;
\? ) showHelp "Unbekannte Option: -${OPTARG}"; exit 2 ;;
esac
done
shift $((OPTIND-1))
if [ "$( whoami )" = root -a "$ALLOW_ROOT" = false ]; then
showHelp "Die Installation sollte nicht als root erfolgen"
exit 1
fi
showLogo
echo "Ermitteln der verfügbaren Versionen"
getVersionLatest