Du bist nicht angemeldet.

#1 22.02.2021 18:14:06

Fansurfer
Mitglied

ScreenFetch Fehlermeldung im Terminal

Hallo,

wenn mein Terminal geöffnet wird, kommt in der ersten Zeile folgende Fehlermeldung:

/usr/bin/screenfetch: Zeile 1802: 1255878656-: Syntaxfehler: Operator erwartet. (Fehlerverursachendes Zeichen ist "-").

Beim Starten vom Terminal werden ja zu erst Informationen zum System angezeigt. Die Anzeige vom RAM ist nicht ganz korrekt, es fehlt dort etwas.

Wie bekomme ich die Meldung wieder weg?

Offline

#2 22.02.2021 20:04:22

stefanhusmann
Moderator

Re: ScreenFetch Fehlermeldung im Terminal

Was gibt denn

 echo $((mem / 1024 / 1024))

(das steht in Zeile 1802 von /usr/bin/screenfetch)

Offline

#3 23.02.2021 18:12:20

Fansurfer
Mitglied

Re: ScreenFetch Fehlermeldung im Terminal

Der Fehler liegt in der Zeile 1801

mem=$(free -b | awk 'NR==2{print $2"-"$7}')

in der Zeile muss "-" durch  " " ersetzt werden, richtig wäre dann so

 mem=$(free -b | awk 'NR==2{print $2" "$7}')

damit gibt es die Fehlermeldung nicht mehr.

Alternativ dazu kann man Neofetch verwenden.

Offline

#4 23.02.2021 19:08:45

Gerry_Ghetto
Mitglied

Re: ScreenFetch Fehlermeldung im Terminal

Bei mir funktionieren

mem=$(free -b | awk 'NR==2{print $2"-"$7}')
echo $((mem / 1024 / 1024))

sowohl mit Zsh als auch mit der Bash.

Offline

#5 23.02.2021 20:09:54

Dirk
Moderator

Re: ScreenFetch Fehlermeldung im Terminal

Gerry_Ghetto schrieb:

Bei mir funktionieren

mem=$(free -b | awk 'NR==2{print $2"-"$7}')
echo $((mem / 1024 / 1024))

sowohl mit Zsh als auch mit der Bash.

Tjoar …

$ mem=$(free -b | awk 'NR==mem=$(free -b | awk 'NR==2{print $2"-"$7}')

$ echo $((mem / 1024 / 1024))
bash: 864854016-: Syntaxfehler: Operator erwartet. (Fehlerverursachendes Zeichen ist "-").

$ ps -p $$
    PID TTY          TIME CMD
   2178 pts/0    00:00:00 bash

$ bash --version | head -n1
GNU bash, Version 5.1.4(1)-release (x86_64-pc-linux-gnu)

$ uname -rms
Linux 5.10.16-arch1-1 x86_64

Ansonsten bekommt man mit grep MemFree /proc/meminfo | awk '{print $2}' den freien RAM in kB.

$ grep MemFree /proc/meminfo | awk '{print $2}'
14520088

Den Wert kann man dann ja weiterverarbeiten.

Offline

#6 24.02.2021 15:02:37

Gerry_Ghetto
Mitglied

Re: ScreenFetch Fehlermeldung im Terminal

Spannender Fall: Mittlerweile kann ich sagen, dass es bei mir nur ab und zu klappt.
Zuerst Arch mit Sway gestartet => klappt.
Dann Sway beendet und nur in der Konsole => klappt nicht mehr
Dann in der Konsole

LANG=C free -b | awk 'NR==2{print $2"-"$7}'

=> klappt wieder
Dann wieder Sway gestartet => klappt nicht mehr
In Sway mit

LANG=C free -b | awk 'NR==2{print $2"-"$7}'

=> klappt wieder

Entweder liegt es an den Feldtrennzeichen oder an der Lokalisierung. Scheint also keine robuste Lösung zu sein.

Offline

#7 24.02.2021 16:31:39

Dirk
Moderator

Re: ScreenFetch Fehlermeldung im Terminal

Vermutlich Lokalisierung und das dadurch genutzte andere Trennzeichen.

/proc/meminfo zu benutzen ist ist imho robuster. Muss man sich halt hinterher selbst so parsen wie man es braucht.

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums