Script Anfänger braucht Hilfe

Status
Für weitere Antworten geschlossen.

cometosin

Benutzer
Mitglied seit
08. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

Ich arbeite bzw. spiele gerade ein wenig herum mit meiner DS damit
ich sie besser verstehe und meine Kentnisse erweitere.

Ich habe jetzt mit Hilfe eines anderen Threads rausgefunden,
wie ich an die aktuelle Downloadgeschwindigkeit des DLC komme,
Daraus habe ich mir dann auch abgeleitet wie ich an die aktuelle
Uploadgeschwindichkeit komme.

Ich verwende dazu folgenden Befehl:

Rich (BBCode):
#!/bin/sh
#Aktuellen UpSpeed abfragen

_Speed=`/usr/syno/pgsql/bin/psql -U admin -d download -c "select SUM(upload_rate) from download_queue"`
echo $_Speed
echo ""

okay das klappt auch soweit, leider sieht die Ausgabe dabei so aus:

sum ------- 26467 (1 row)

Meine Frage ist nun, wie stelle ich es an, dass ich eine Variable nur mit
dem Zahlenwert erhalte?

Grüße cometosin
 

Kauabunga

Benutzer
Mitglied seit
18. Jul 2009
Beiträge
105
Punkte für Reaktionen
0
Punkte
16
Hi!

Ich denke das war wohl aus einem meiner Beiträge...
Hier ist der Codeteil den ich benutzt habe um die DL Speed zu erhalten:
Rich (BBCode):
_actDownSpeed=`/usr/syno/pgsql/bin/psql -U admin -d download -c "select SUM(current_rate) from download_queue" | tail  --lines=+3 | head --lines=1`

Normale abfrage liefert das:
Rich (BBCode):
 sum
-----
 597
(1 row)

dann kommt der Anhang hinzu:

tail --lines=+3 : "Nimm alles ab der 3. Zeile"

head --lines=1: " Nimm dann davon die 1. Zeile"

und zurück bleibt dann 597

Gruß
Ralf
 

cometosin

Benutzer
Mitglied seit
08. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Hey ja genau von deinem Code habe ich das abgeleitet.
Habe es auch mit tail und head probiert leider hat dass bei mir nicht geklappt:

Folgender Code:

Rich (BBCode):
#!/bin/sh
#Aktuelle DownSpeed abfragen

_Speed=`/usr/syno/pgsql/bin/psql -U admin -d download -c "select SUM(upload_rate) from download_queue" | tail --lines=+3 | head --lines=1`
echo $_Speed
echo ""


Diese Ausgabe:

head: invalid option -- -
BusyBox v1.1.0 (2010.04.13-16:53+0000) multi-call binary

Usage: head [OPTION]... [FILE]...

tail: invalid option -- -
BusyBox v1.1.0 (2010.04.13-16:53+0000) multi-call binary

Usage: tail [OPTION]... [FILE]...

Wie gesagt ich bin leider Anfänger und weiß nicht woran das liegt?

Kann irgendjemand damit vllt etwas anfangen?

Edit: wenn ich den Befehl in der Shell ausführe dann habe ich auch die 4 zeilen. Über das Script bekomme ich wie im ersten Post geschreiben alles in einer Zeile, vllt hilft das.
 

Kauabunga

Benutzer
Mitglied seit
18. Jul 2009
Beiträge
105
Punkte für Reaktionen
0
Punkte
16
hm, hab deinen Code grad in meine Shell kopiert und hat auf anhieb funktioniert.
Rich (BBCode):
/usr/syno/pgsql/bin/psql -U admin -d download -c "select SUM(upload_rate) from download_queue" | tail --lines=+3 | head --lines=1
 

cometosin

Benutzer
Mitglied seit
08. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Brauch ich für tail und head noch zusätzliche pakete oder so?

EDIT: Auch direkt in der Shell bringt er mir die gleiche Fehlermeldung. :-(
 

Kauabunga

Benutzer
Mitglied seit
18. Jul 2009
Beiträge
105
Punkte für Reaktionen
0
Punkte
16
also erst mal zur Beruhigung: Hab dein Skript getestet, es funktioniert soweit.

und ja, du brauchtst noch ein Paket, musst auch erst nachschauen.

Tail und Head sind im Paket
"coreutils - 8.4-1 - Bunch of heavyweight *nix core utilities"
mit drin.

Installier das über IPKG und dann sollt alles tun.

Gruß
Ralf
 

cometosin

Benutzer
Mitglied seit
08. Aug 2010
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Hey cool, Danke es Funktioniert, aber nur als Script nicht direkt auf der Shell.
Werde mal noch neu starten und dann nochmal schaun ob es auch direkt
auf der Shell geht.

EDIT: Putty restart hat gereicht :)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat