Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
Skillkiller
- Beiträge: 30
- Registriert: 27.07.2016 12:49:05
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von Skillkiller » 06.01.2017 23:45:52
Hallo,
ich möchte Curl in einem Bash Script so ausführen das ich von Curl nur die Durchschnittsgeschwindigkeit zurück bekomme damit ich diese dann weiter verarbeiten kann.
Das es dann ungefähr so aussieht. Da ich noch kein Script erstellt habe ist dies jetzt hier sehr sperrlich:
Code: Alles auswählen
#!/bin/bash
#Start Routine
geschwindigkeit = $(curl ftp://speedtest.tele2.net/10GB.zip -o /dev/null)
#Geschwindigkeit weiterverarbeiten...
Die heruntergeladene Datei soll ins "Nichts" gespeichert werden da sie nicht mehr benötigt wird.
-
hikaru
- Moderator
- Beiträge: 13585
- Registriert: 09.04.2008 12:48:59
Beitrag
von hikaru » 09.01.2017 08:15:27
Ich vermute, du suchst die Optionen
--silent und
--write-out:
Code: Alles auswählen
curl -s -w "%{speed_download}\n" http://ftp.de.debian.org -o /dev/null
-
Skillkiller
- Beiträge: 30
- Registriert: 27.07.2016 12:49:05
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von Skillkiller » 09.01.2017 17:58:05
Ja das ist genau das wonach ich gesucht habe
Danke.
Aber eine Frage habe ich dazu noch denn wen ich den Silent Modus entferne dann bekomme ich ja auch die normale Ansicht ausgegeben was zu debuggen nicht schlecht ist aber dabei ist mir aufgefallen das der ausgegebene Wert nicht dem in der "Anzeige" gezeigten Wert entspricht.
Code: Alles auswählen
curl -w "%{speed_download}\n" ftp://speedtest.tele2.net/1GB.zip -o /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1024M 100 1024M 0 0 189M 0 0:00:05 0:00:05 --:--:-- 210M
198365808,000
Hier werden mir einmal 189 MB/s angezeigt aber in der eigentichen Augabe wird 198,3 MB/s Sekunde angegeben. Warum ?[/s]
Okay man sollte halt nicht immer auf Google vertrauen. Als ich es selbst mit dem Taschenrechner nachgerechnet habe, habe ich merkt das es doch alles stimmt. Danke nochmal für die Hilfe
Zuletzt geändert von
Skillkiller am 09.01.2017 18:17:34, insgesamt 1-mal geändert.
-
FragDenPinguin
- Beiträge: 34
- Registriert: 06.01.2017 05:41:47
Beitrag
von FragDenPinguin » 09.01.2017 18:07:37
Ins Blaue geraten: Wird vielleicht für die M einmal der Umrechnungsfaktor 1024*1024 und einmal 1000*1000 benutzt?
-
hikaru
- Moderator
- Beiträge: 13585
- Registriert: 09.04.2008 12:48:59
Beitrag
von hikaru » 09.01.2017 18:11:00
FragDenPinguin hat geschrieben:Ins Blaue geraten:
Und in's Schwarze getroffen!
198365808 / 1024² = 189,176376343
-
Skillkiller
- Beiträge: 30
- Registriert: 27.07.2016 12:49:05
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von Skillkiller » 09.01.2017 18:31:14
Danke euch 2. Bei meinen eigenen Rechnungen habe ich es dann selbst gemerkt das da irgendwas nicht stimmen kann
-
Skillkiller
- Beiträge: 30
- Registriert: 27.07.2016 12:49:05
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von Skillkiller » 10.01.2017 16:10:54
Hey,
nochmal eine Frage. Ich weiß nicht warum aber ich schaffe es einfach nicht das Ergebnis durch 1024 zu teilen
Code: Alles auswählen
#!/bin/bash
paket="1GB"
speicherpfad="/dev/null"
speed=$(curl -s -w "%{speed_download}" ftp://speedtest.tele2.net/${paket}.zip -o ${speicherpfad})
echo $speed
speed=`echo $speed | sed -e 's/ //g'`
echo $speed
speed=$(($speed / 1024))
echo $speed
Ich habe jetzt schon verschiedene Sachen probiert aber ich bekomme immer nur am Ende 0 ausgespuckt.
Code: Alles auswählen
root@vm:/home# ./speedtest.sh
154447714,000
154447714,000
0