Hallo,
ich führe eine bash test.sh aus und möchte was dort ausgegeben wird in eine Datei sichern. Wie muss das Befehl dafür aussehen.
Anmeldungsdatum: Beiträge: Zähle... |
Hallo, ich führe eine bash test.sh aus und möchte was dort ausgegeben wird in eine Datei sichern. Wie muss das Befehl dafür aussehen. |
||
Anmeldungsdatum: Beiträge: 11176 Wohnort: München |
Ich denke du suchst Shell/Umleitungen - da du nicht verrätst, ob die Ausgaben des Skripts nur auf stdout oder auch auf stderr kommen, musst du den Artikel selber lesen 😉 |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: Zähle... |
es ist so dass ich eine Liste erstellt habe deren Inhalte über bash shell aktualisiert werden und die Aktualisierung übern Terminal angezeigt wird. Die Ausgabe möchte ich komplett sichern am besten als Datei
|
||
Anmeldungsdatum: Beiträge: 7174 Wohnort: Wolfen (S-A) |
Eine Terminal-Ausgabe nachträglich vom Schirm in eine Datei zu sichern geht m.w. nicht. Aber wie Seahawk schon gesagt (und verlinkt) hat, kannst Du die Ausgabe in eine Datei umleiten, LG, track |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 53 |
Gut dann poste ich mal genau was ich vorhabe ich schaue über [entfernt]. Leider werden täglich die Sender mit Tokens gefüttert so dass ich täglich diese raussuchen muss und anschließend in eine MeineSender.m3u kopiere. Über den folgenden Script kann ich die aktuellen Tokens abrufen und diese an meine Sender anhängen. Was ich bischer nicht geschafft habe ist das was aktualisiert angezeigt wird dieses als MeinSender.m3u List zu sichern. so sieht das bash script aus
In der Datei tvliste sind folgende Einträge vorhanden EXTINF:0,name http://channel url #EXTINF:0, http://channel url
Bearbeitet von rklm: Syntaxhighlighting
Bearbeitet von redknight: Channelname auf Wunsch entfernt.
Bearbeitet von sebix: URLs und Namen auf Wunsch entfernt.
Bearbeitet von sebix: Weiteren Text auf Wunsch entfernt. |
||
Anmeldungsdatum: Beiträge: 7174 Wohnort: Wolfen (S-A) |
Ah, ok - das Token wird dort also offenbar als Json-Objekt angeliefert. Dementsprechend wäre es natürlich das einfachste, und vor allem sauberste, das auch mit einem Json-Parser zu decodieren:
(→ Hinweise im Zweifel im LG, track Bearbeitet von redknight: Channelname auf Wunsch entfernt. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 53 |
wenn ich dies so ausführe bekomme ich einen fehler ausgespuckt bash test.sh test.sh: Zeile 3: jq: Befehl nicht gefunden (23) Failed writing body |
||
Anmeldungsdatum: Beiträge: 11176 Wohnort: München |
Du musst das Paket jq natürlich erst mal installieren, bevor du es verwenden kannst... sudo apt-get install jq Nutzen könnte man das dann z.B. so:
Bearbeitet von redknight: Channelname auf Wunsch entfernt. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 53 |
habs gemacht die Tokens wurden nicht übernommen bash test.sh etest.sh: Zeile 3: Syntaxfehler beim unerwarteten Wort »|« etest.sh: Zeile 3: `token=(curl -s 'CHANNELURL' | jq -r ."st" | grep -Po "(?<=token=).*")'
Bearbeitet von redknight: Channelname auf Wunsch entfernt. |
||
Anmeldungsdatum: Beiträge: 11176 Wohnort: München |
Entschuldige, da fehlte ein Dollar-Zeichen, das muss naütrlich so aussehen: token=$(curl -s 'CHANNELURL' | jq -r ."st" | grep -Po "(?<=token=).*")
Bearbeitet von redknight: Channelname auf Wunsch entfernt. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 53 |
Danke soweit hat alles geklappt ist es möglich die erstellte Liste an meine Dropbox übern script zusenden und wie kann ich es für meinen fall automatisieren übern crontab |
||
Anmeldungsdatum: Beiträge: 11176 Wohnort: München |
Ja, das Ziel der Umleitung ist beliebig wählbar (solange die Zieldatei erstellt werden kann), also könntest du statt sed -r "s/token=/token=$token/" tvliste > MeinSender.m3u z.B. auch direkt in deinen Dropbox-Ordner schreiben: sed -r "s/token=/token=$token/" tvliste > /home/$USER/Dropbox/MeinSender.m3u
cron lesen und den Befehl mit der gewünschten Frequenz ausführen lassen. |
||
Anmeldungsdatum: Beiträge: 7174 Wohnort: Wolfen (S-A) |
Klar kannst Du das Zeug auch auf Dropbox hochladen. Wie das geht, ist in der Dropbox API beschrieben. LG, track p.s.: Daher mein Vorschlag, den Link komplett zu verwenden, und ihn einfach direkt in der Liste abzulegen. Das ist robuster, finde ich. |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 53 |
habe ich hier einen Denkfehler? Bekomme Folgende Meldung sollte gdrive sein. test.sh: Zeile 4: /home/User/https://drive.google.com/drive/folders/123/MeinSender.m3u: Datei oder Verzeichnis nicht gefunden Zum Verständnis die Datei wird von mir freigegeben über den Link siehe folders/123/ Die AKtualisierung soll über den FReigabelink auf gdrive geschrieben werden |
||
(Themenstarter)
Anmeldungsdatum: Beiträge: 53 |
Danke hat geklappt |