Du bist nicht angemeldet.

Eine Antwort schreiben

Schreibe deinen Beitrag und versende ihn
Beitragsoptionen
Deine Antwort

Zurück

Themen-Übersicht (Neuester Beitrag zuerst)

Dirk
24.02.2021 16:31:39

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.

Gerry_Ghetto
24.02.2021 15:02:37

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.

Dirk
23.02.2021 20:09:54
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.

Gerry_Ghetto
23.02.2021 19:08:45

Bei mir funktionieren

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

sowohl mit Zsh als auch mit der Bash.

Fansurfer
23.02.2021 18:12:20

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.

stefanhusmann
22.02.2021 20:04:22

Was gibt denn

 echo $((mem / 1024 / 1024))

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

Fansurfer
22.02.2021 18:14:06

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?

Fußzeile des Forums

Powered by FluxBB