-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathupdate_fastfetch
68 lines (51 loc) · 2.31 KB
/
update_fastfetch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/usr/bin/env sh
# GitHub API-URL für die neuesten Fastfetch-Releases
API_URL="https://api.github.com/repos/fastfetch-cli/fastfetch/releases/latest"
# Architektureinstellung
ARCH=$(uname -m)
# Neueste Version von der GitHub-API abrufen
printf "Prüfe auf die neueste Version von Fastfetch...\n"
latest_version=$(curl -s "$API_URL" | grep -oP '"tag_name": "\K[\d.]+')
if [ -z "$latest_version" ]; then
printf "Fehler: Konnte die neueste Version nicht abrufen.\n"
exit 1
fi
printf "Neueste verfügbare Version: %s\n" "$latest_version"
# Prüfe, ob fastfetch installiert ist und die Version abrufen
if command -v fastfetch &> /dev/null
then
# Fange die Ausgabe von fastfetch --version ab
installed_version=$(fastfetch --version 2>&1)
# Extrahiere die Versionsnummer aus der Ausgabe
installed_version=$(printf "%s\n" "$installed_version" | grep -oP '\d+\.\d+\.\d+')
printf "Installierte Version: %s\n" "$installed_version"
else
printf "Fastfetch ist nicht installiert.\n"
installed_version="none"
fi
# Vergleiche die installierte Version mit der neuesten Version
if [ "$installed_version" != "$latest_version" ]; then
printf "Eine neuere Version von Fastfetch ist verfügbar. Starte den Download und die Installation...\n"
# URL zur .deb Datei basierend auf der neuesten Version und Architektur
DEB_URL="https://github.com/fastfetch-cli/fastfetch/releases/download/${latest_version}/fastfetch-linux-${ARCH}.deb"
printf "Downloading the .deb file from %s ...\n" "$DEB_URL"
curl -L -o fastfetch_latest.deb "$DEB_URL"
# Überprüfe, ob der Download erfolgreich war
if [ -f "fastfetch_latest.deb" ]; then
printf "Download erfolgreich. Datei fastfetch_latest.deb existiert.\n"
else
printf "Fehler: Die Datei fastfetch_latest.deb wurde nicht gefunden!\n"
exit 1
fi
# Installation der neuen Version mit dpkg
sudo dpkg -i fastfetch_latest.deb
# Fehlende Abhängigkeiten installieren (falls erforderlich)
sudo apt-get install -f
printf "Fastfetch wurde erfolgreich aktualisiert.\n"
# Entferne die heruntergeladene .deb Datei
printf "Entferne die heruntergeladene Datei fastfetch_latest.deb ...\n"
rm fastfetch_latest.deb
printf "Die Datei wurde entfernt.\n"
else
printf "Fastfetch ist bereits auf dem neuesten Stand.\n"
fi