Erweiterte Funktionalitäten
- Programmaufruf mit Optionen möglich - Logseq kann deinstalliert werden - Warnung, wenn Logseq als root installiert wird
This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user