Så här lyssnar du på radio i terminalen.

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Så här lyssnar du på radio i terminalen.

Inlägg av Konservburk »

TobbeT skrev:@konservburk

Får detta när jag testar ditt nya script:

Kod: Markera allt

Failed to open #!/bin/bash.
Det var ju inte helt bra... Får du det direkt eller efter att du har valt kanal? Vilka versioner av bash och sed har du?

Kod: Markera allt

bash --version
sed --version
TobbeT skrev:Ska inte filen heta .radio i detta fall?
Den ska kunna heta precis vad som helst, t.ex. ".radio".
Användarvisningsbild
TobbeT
Inlägg: 670
Blev medlem: 20 feb 2007, 11:45
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Eskilstuna

Re: Så här lyssnar du på radio i terminalen.

Inlägg av TobbeT »

Konservburk skrev:
TobbeT skrev:@konservburk

Får detta när jag testar ditt nya script:

Kod: Markera allt

Failed to open #!/bin/bash.
Det var ju inte helt bra... Får du det direkt eller efter att du har valt kanal? Vilka versioner av bash och sed har du?

Svar: Det kommer direkt jag har skrivit ./.radio i terminalen och tryckt enter. Verkar gå i en loop liksom, samma meddelande upprepas tills jag trycker Ctrl+C. Får inte upp valen av kanaler över huvudtaget. Får återkomma senare idag med aktuell version av bash & sed.

Kod: Markera allt

bash --version
sed --version
TobbeT skrev:Ska inte filen heta .radio i detta fall?
Den ska kunna heta precis vad som helst, t.ex. ".radio".
Användarvisningsbild
axel112
Inlägg: 1810
Blev medlem: 04 jan 2007, 00:13
OS: Ubuntu
Ort: Eslöv

Re: Så här lyssnar du på radio i terminalen.

Inlägg av axel112 »

Samma problem för mig.

Versioner
bash GNU bash, version 3.2.25(1)-release (i486-pc-linux-gnu)
sed GNU sed version 4.1.5
Användarvisningsbild
TobbeT
Inlägg: 670
Blev medlem: 20 feb 2007, 11:45
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Eskilstuna

Re: Så här lyssnar du på radio i terminalen.

Inlägg av TobbeT »

Kod: Markera allt

GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.

GNU sed version 4.1.5
Copyright (C) 2003 Free Software Foundation, Inc.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Så här lyssnar du på radio i terminalen.

Inlägg av Konservburk »

TobbeT skrev:Det kommer direkt jag har skrivit ./.radio i terminalen och tryckt enter. Verkar gå i en loop liksom, samma meddelande upprepas tills jag trycker Ctrl+C. Får inte upp valen av kanaler över huvudtaget.
Då måste select-raden hoppas över av någon anledning. Antagligen sätter inte set-raden några skriptargument trots att den borde göra det. Varför den inte gör det kan man verkligen fråga sig.
axel112 skrev:Samma problem för mig.
Kör du också linuxmint?
axel112 skrev:bash GNU bash, version 3.2.25(1)-release (i486-pc-linux-gnu)
sed GNU sed version 4.1.5
TobbeT skrev:

Kod: Markera allt

GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.

GNU sed version 4.1.5
Copyright (C) 2003 Free Software Foundation, Inc.
Jag har nu själv provat med de versionerna, så det är inte där skon klämmer. Jag har även försökt att boota från 8.04-live-cd:n för att utesluta att jag har gjort några konstiga inställningar någonstans. Men även då fungerade skriptet som det skulle. Det här blev med andra ord väldigt spännande... jag har ännu ingen som helst aning om vad problemet kan tänkas vara.

Jag har fixat en debug-version av skriptet som skriver ut vad som händer efter hand:

Kod: Markera allt

#!/bin/bash

echo === STARTARGUMENT ===
${1+echo "[$@]"}

echo === KANALNAMN ===
sed -n "/^#/d;s/\s\s\+.*//p" <"$0"
IFS=$'\n'; set -- $(sed -n "/^#/d;s/\s\s\+.*//p" <"$0"); unset IFS

echo === SKRIPTARGUMENT ===
for i; do echo "[$i]"; done

PS3="Välj kanal (ctrl-c avslutar): "; select REPLY; do ${REPLY:+break}; done
echo "REPLY=[$REPLY]"

echo === KANALADRESS ===
sed -n "/^$REPLY\s\s\+/{s///p;q}" <"$0"

echo exec "$0" $(sed -n "/^$REPLY\s\s\+/{s///p;q}" <"$0")
exit

East FM                 mms://www.eastfm.se/eastfm
HardFM                  http://files.hard.fm/192.pls
RadioSeven              http://www.radioseven.se/128.pls
Studio 107.5            mms://live.alleredge.com/AE_StudioSE_Mid
107.1 Vinyl             mms://live.alleredge.com/AE_Vinyl_Mid
The Voice               mms://live.alleredge.com/AE_TheVoiceSE_Mid
Rockklassiker           mms://live.alleredge.com/AE_Rockklassiker_Mid
Mix MegaPol             mms://live.alleredge.com/AE_MixMegapol_Mid
Det här händer när jag kör debug-skriptet:

Kod: Markera allt

$ ./.radio
=== STARTARGUMENT ===
=== KANALNAMN ===
East FM
HardFM
RadioSeven
Studio 107.5
107.1 Vinyl
The Voice
Rockklassiker
Mix MegaPol
=== SKRIPTARGUMENT ===
[East FM]
[HardFM]
[RadioSeven]
[Studio 107.5]
[107.1 Vinyl]
[The Voice]
[Rockklassiker]
[Mix MegaPol]
1) East FM        3) RadioSeven     5) 107.1 Vinyl    7) Rockklassiker
2) HardFM         4) Studio 107.5   6) The Voice      8) Mix MegaPol
Välj kanal (ctrl-c avslutar): 5
REPLY=[107.1 Vinyl]
=== KANALADRESS ===
mms://live.alleredge.com/AE_Vinyl_Mid
exec ./.radio mms://live.alleredge.com/AE_Vinyl_Mid
Blir det annorlunda för er?
Användarvisningsbild
TobbeT
Inlägg: 670
Blev medlem: 20 feb 2007, 11:45
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Eskilstuna

Re: Så här lyssnar du på radio i terminalen.

Inlägg av TobbeT »

Konservburk skrev:
TobbeT skrev:Det kommer direkt jag har skrivit ./.radio i terminalen och tryckt enter. Verkar gå i en loop liksom, samma meddelande upprepas tills jag trycker Ctrl+C. Får inte upp valen av kanaler över huvudtaget.
Då måste select-raden hoppas över av någon anledning. Antagligen sätter inte set-raden några skriptargument trots att den borde göra det. Varför den inte gör det kan man verkligen fråga sig.
axel112 skrev:Samma problem för mig.
Kör du också linuxmint?
axel112 skrev:bash GNU bash, version 3.2.25(1)-release (i486-pc-linux-gnu)
sed GNU sed version 4.1.5
TobbeT skrev:

Kod: Markera allt

GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.

GNU sed version 4.1.5
Copyright (C) 2003 Free Software Foundation, Inc.
Jag har nu själv provat med de versionerna, så det är inte där skon klämmer. Jag har även försökt att boota från 8.04-live-cd:n för att utesluta att jag har gjort några konstiga inställningar någonstans. Men även då fungerade skriptet som det skulle. Det här blev med andra ord väldigt spännande... jag har ännu ingen som helst aning om vad problemet kan tänkas vara.

Jag har fixat en debug-version av skriptet som skriver ut vad som händer efter hand:

Kod: Markera allt

#!/bin/bash

echo === STARTARGUMENT ===
${1+echo "[$@]"}

echo === KANALNAMN ===
sed -n "/^#/d;s/\s\s\+.*//p" <"$0"
IFS=$'\n'; set -- $(sed -n "/^#/d;s/\s\s\+.*//p" <"$0"); unset IFS

echo === SKRIPTARGUMENT ===
for i; do echo "[$i]"; done

PS3="Välj kanal (ctrl-c avslutar): "; select REPLY; do ${REPLY:+break}; done
echo "REPLY=[$REPLY]"

echo === KANALADRESS ===
sed -n "/^$REPLY\s\s\+/{s///p;q}" <"$0"

echo exec "$0" $(sed -n "/^$REPLY\s\s\+/{s///p;q}" <"$0")
exit

East FM                 mms://www.eastfm.se/eastfm
HardFM                  http://files.hard.fm/192.pls
RadioSeven              http://www.radioseven.se/128.pls
Studio 107.5            mms://live.alleredge.com/AE_StudioSE_Mid
107.1 Vinyl             mms://live.alleredge.com/AE_Vinyl_Mid
The Voice               mms://live.alleredge.com/AE_TheVoiceSE_Mid
Rockklassiker           mms://live.alleredge.com/AE_Rockklassiker_Mid
Mix MegaPol             mms://live.alleredge.com/AE_MixMegapol_Mid
Det här händer när jag kör debug-skriptet:

Kod: Markera allt

$ ./.radio
=== STARTARGUMENT ===
=== KANALNAMN ===
East FM
HardFM
RadioSeven
Studio 107.5
107.1 Vinyl
The Voice
Rockklassiker
Mix MegaPol
=== SKRIPTARGUMENT ===
[East FM]
[HardFM]
[RadioSeven]
[Studio 107.5]
[107.1 Vinyl]
[The Voice]
[Rockklassiker]
[Mix MegaPol]
1) East FM        3) RadioSeven     5) 107.1 Vinyl    7) Rockklassiker
2) HardFM         4) Studio 107.5   6) The Voice      8) Mix MegaPol
Välj kanal (ctrl-c avslutar): 5
REPLY=[107.1 Vinyl]
=== KANALADRESS ===
mms://live.alleredge.com/AE_Vinyl_Mid
exec ./.radio mms://live.alleredge.com/AE_Vinyl_Mid
Blir det annorlunda för er?

Kod: Markera allt

./.debug: line 1: $: kommandot hittades inte
./.debug: line 2: ===: kommandot hittades inte
./.debug: line 3: ===: kommandot hittades inte
./.debug: line 4: East: kommandot hittades inte
./.debug: line 5: HardFM: kommandot hittades inte
./.debug: line 6: RadioSeven: kommandot hittades inte
./.debug: line 7: Studio: kommandot hittades inte
./.debug: line 8: 107.1: kommandot hittades inte
./.debug: line 9: The: kommandot hittades inte
./.debug: line 10: Rockklassiker: kommandot hittades inte
./.debug: line 11: Mix: kommandot hittades inte
./.debug: line 12: ===: kommandot hittades inte
./.debug: line 13: [East: kommandot hittades inte
./.debug: line 14: [HardFM]: kommandot hittades inte
./.debug: line 15: [RadioSeven]: kommandot hittades inte
./.debug: line 16: [Studio: kommandot hittades inte
./.debug: line 17: [107.1: kommandot hittades inte
./.debug: line 18: [The: kommandot hittades inte
./.debug: line 19: [Rockklassiker]: kommandot hittades inte
./.debug: line 20: [Mix: kommandot hittades inte
./.debug: line 21: syntax error near unexpected token `)'
./.debug: line 21: `    1) East FM        3) RadioSeven     5) 107.1 Vinyl    7) Rockklassiker'
Nu vet jag inte om jag har gjort rätt. Sparade debug-filen som .debug, gjorde den körbara, aktiverade den i en terminal ./.debug. Använder jag din "gamla" radio-fil funkar det klockrent, men som sagt inte den här nya.

Hoppas du har tålamod med det här, annars är det bara att använda den som funkar.

//Tobbe
Användarvisningsbild
TobbeT
Inlägg: 670
Blev medlem: 20 feb 2007, 11:45
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Eskilstuna

Re: Så här lyssnar du på radio i terminalen.

Inlägg av TobbeT »

Installerade mms från synaptic, nu blev det så här när jag kör filen ./.radio:

Kod: Markera allt

tobbe@media ~ $ ./.radio
=== STARTARGUMENT ===
=== KANALNAMN ===






















=== SKRIPTARGUMENT ===
REPLY=[]
=== KANALADRESS ===
#!/bin/bash
exec ./.radio #!/bin/bash
Debug ger samma som förut:

Kod: Markera allt

tobbe@media ~ $ ./.debug
./.debug: line 1: $: kommandot hittades inte
./.debug: line 2: ===: kommandot hittades inte
./.debug: line 3: ===: kommandot hittades inte
./.debug: line 4: East: kommandot hittades inte
./.debug: line 5: HardFM: kommandot hittades inte
./.debug: line 6: RadioSeven: kommandot hittades inte
./.debug: line 7: Studio: kommandot hittades inte
./.debug: line 8: 107.1: kommandot hittades inte
./.debug: line 9: The: kommandot hittades inte
./.debug: line 10: Rockklassiker: kommandot hittades inte
./.debug: line 11: Mix: kommandot hittades inte
./.debug: line 12: ===: kommandot hittades inte
./.debug: line 13: [East: kommandot hittades inte
./.debug: line 14: [HardFM]: kommandot hittades inte
./.debug: line 15: [RadioSeven]: kommandot hittades inte
./.debug: line 16: [Studio: kommandot hittades inte
./.debug: line 17: [107.1: kommandot hittades inte
./.debug: line 18: [The: kommandot hittades inte
./.debug: line 19: [Rockklassiker]: kommandot hittades inte
./.debug: line 20: [Mix: kommandot hittades inte
./.debug: line 21: syntax error near unexpected token `)'
./.debug: line 21: `    1) East FM        3) RadioSeven     5) 107.1 Vinyl    7) Rockklassiker'
//Tobbe
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Så här lyssnar du på radio i terminalen.

Inlägg av Konservburk »

TobbeT skrev:

Kod: Markera allt

./.debug: line 1: $: kommandot hittades inte
./.debug: line 2: ===: kommandot hittades inte
./.debug: line 3: ===: kommandot hittades inte
./.debug: line 4: East: kommandot hittades inte
./.debug: line 5: HardFM: kommandot hittades inte
./.debug: line 6: RadioSeven: kommandot hittades inte
./.debug: line 7: Studio: kommandot hittades inte
./.debug: line 8: 107.1: kommandot hittades inte
./.debug: line 9: The: kommandot hittades inte
./.debug: line 10: Rockklassiker: kommandot hittades inte
./.debug: line 11: Mix: kommandot hittades inte
./.debug: line 12: ===: kommandot hittades inte
./.debug: line 13: [East: kommandot hittades inte
./.debug: line 14: [HardFM]: kommandot hittades inte
./.debug: line 15: [RadioSeven]: kommandot hittades inte
./.debug: line 16: [Studio: kommandot hittades inte
./.debug: line 17: [107.1: kommandot hittades inte
./.debug: line 18: [The: kommandot hittades inte
./.debug: line 19: [Rockklassiker]: kommandot hittades inte
./.debug: line 20: [Mix: kommandot hittades inte
./.debug: line 21: syntax error near unexpected token `)'
./.debug: line 21: `    1) East FM        3) RadioSeven     5) 107.1 Vinyl    7) Rockklassiker'
Nu vet jag inte om jag har gjort rätt. Sparade debug-filen som .debug, gjorde den körbara, aktiverade den i en terminal ./.debug.
Du försöker köra utdatan som jag fick när jag körde debug-skriptet, vilket inte var helt rätt. Tanken var att du skulle spara den över kod-rutan som ett skript och sedan jämföra resultatet med den nedre.
TobbeT skrev:Använder jag din "gamla" radio-fil funkar det klockrent, men som sagt inte den här nya.

Hoppas du har tålamod med det här, annars är det bara att använda den som funkar.
Jag är ytterst nyfiken på vad problemet är så jag hoppas att även du har lite tålamod.
TobbeT skrev:Installerade mms från synaptic, nu blev det så här när jag kör filen ./.radio:

Kod: Markera allt

tobbe@media ~ $ ./.radio
=== STARTARGUMENT ===
=== KANALNAMN ===






















=== SKRIPTARGUMENT ===
REPLY=[]
=== KANALADRESS ===
#!/bin/bash
exec ./.radio #!/bin/bash
Det där ser däremot ut som utdata från debug-skriptet. Den säger mig att någonting är galet med med den andra raden som ska plocka fram kanalnamnen. Jag ändrade på den eftersom jag tyckte det var onödigt att specialbehandla -playlist som jag gjorde innan och då behövdes den ändringen.

Ett nytt test-skript som jämför det nya och gamla sättet:

Kod: Markera allt

#!/bin/bash

echo === NYA KANALNAMN ===
sed -n "/^#/d;s/\s\s\+.*//p" <"$0"

echo === GAMLA KANALNAMN ===
sed -n "/^ex/{:;n;/^#/b;s/\s*[^[:blank:]]*$//p;b}" < "$0"

exit

East FM                 mms://www.eastfm.se/eastfm
HardFM                  http://files.hard.fm/192.pls
Vad får du för resultat om du kör det?
Användarvisningsbild
TobbeT
Inlägg: 670
Blev medlem: 20 feb 2007, 11:45
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Eskilstuna

Re: Så här lyssnar du på radio i terminalen.

Inlägg av TobbeT »

Kod: Markera allt

tobbe@media ~ $ ./.test
=== NYA KANALNAMN ===








=== GAMLA KANALNAMN ===
Det var allt, ingenting emellan, men det kanske ska vara så?

//Tobbe
Användarvisningsbild
cupe
Inlägg: 650
Blev medlem: 05 jun 2008, 07:10
OS: Ubuntu
Utgåva: 12.04 Precise Pangolin LTS

Re: Så här lyssnar du på radio i terminalen.

Inlägg av cupe »

Fixade en bug som gjorde att programmet kraschade i kanalväljaren vid en felaktig kanallista.

Kod: Markera allt

#!/usr/bin/python
# -*- coding: utf-8 -*-
# Kräver mpg123 ; sudo apt-get install mpg123
# Ersätt mpg123 med valfri spelare
# Kräver moc; sudo apt-get install mocp
# Ersätt moc med valfri spelare
import os

global cfgpath
cfgpath = "radio.txt"

#Funktionen menu där du väljer vad du vill göra
def menu():
    
    os.system("clear")
    print ""
    print "-' Radio & Musik i konsolen, jippi! '-"
    print ""
    print "1) Spela Radio"
    print "2) Spela Lokal Musik"
    print ""
    print "Q) Avsluta"
    print ""
    val = raw_input("Val: ")

    if val =="1":
        radio()
    if val =="2":
        music()
	if val == "Q" or "q":
		quit()
        
#funktionen addradio som lägger till radiostationer i radio.txt
def addradio():
	
	#rensa skärmen
	os.system("clear")

	#öppnar fil och hämtar nuvarande id och sparar i thisid
	f = open(cfgpath)
	filedata = f.readlines()
	f.close()
	tempdata = filedata[len(filedata)-1].split(" ")
	tempdata[0] = tempdata[0].replace("ID=", "")
	id = int(tempdata[0])+1
	id = str(id)
	name = raw_input("Namn: ")
	url = raw_input("Url: ")
	f = open(cfgpath, "a")
	f.write("\nID="+id+" NAME="+name+" URL="+url)
	f.close()
	#rensa skärmen
	os.system("clear")
	print ""
	print "Station tillagd"
	print ""
	raw_input()
	radio()
	
	#funktionen radio som har hand om radio-biten
def radio():

    #öppna och läsa fil
    f = open(cfgpath)
    filedata = f.readlines()
    f.close()

    #skapa nödvändiga variabler
    urllist = list()
    #printa en padding ovanför
    os.system("clear")
    print ""
   
    #data loopen, bearbetar och sorterar data
    for p in filedata:
        if p == "\n":
            continue
        templist = p.split(" ")
        templist[0] = templist[0].replace("ID=", "")
        templist[1] = templist[1].replace("NAME=", "")
        templist[1] = templist[1].replace("_", " ")
        templist[2] = templist[2].replace("URL=", "")
        templist[2] = templist[2].replace("\n", "")
   
        #printa menyn
        print templist[0]+") "+templist[1]
        #spara url i en lista
        urllist.append(templist[2])

    print ""
    print "A) Spela egen ström"
    print "E) Lägg till station"
    print "M) Tillbaka till huvudmenyn"
    print "Q) Avsluta"
   
    val = raw_input("val: ")

    if val == "Q" or val == "q":
        #rensa skärmen
        os.system("clear")
        exit()
    elif val == "E" or val == "e":
        addradio()
    elif val == "M" or val == "m":
        menu()
    elif val == "A" or val == "a":
        os.system("clear")
        own_radio = raw_input("Mata in en egen stream: ")
        own_radio = own_radio.lower()
        os.system("mpg123 -@ "+own_radio)
        raw_input("")
        radio()
    elif len(val) != 0:
        os.system("clear")
        os.system("mpg123 -@ "+urllist[int(val)-1])
        raw_input("")
        radio()
    else:
        menu()



#funktionen music som har hand om övrig musik
def music():
    #rensa skärmen
    os.system("clear")
    music_location = raw_input("Ange sökväg till din musik: ")
    os.system("x-terminal-emulator -e mocp -m " + music_location)
    raw_input("")
    menu()
#programmet    
menu()
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Så här lyssnar du på radio i terminalen.

Inlägg av Konservburk »

TobbeT skrev:Det var allt, ingenting emellan, men det kanske ska vara så?
Så du får 8 tomma rader efter NYA KANALNAMN och inga rader efter GAMLA KANALNAMN? Jag hade hoppats att det gamla sättet skulle ge åtminste någnting eftersom det fungerade förut. Då får vi göra det ännu enklare...

Kod: Markera allt

#!/bin/bash

sed -n 'p' <"$0"
exit

East FM                 mms://www.eastfm.se/eastfm
HardFM                  http://files.hard.fm/192.pls
Det där skriptet ska bara visa sig själv.
Användarvisningsbild
TobbeT
Inlägg: 670
Blev medlem: 20 feb 2007, 11:45
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Eskilstuna

Re: Så här lyssnar du på radio i terminalen.

Inlägg av TobbeT »

Konservburk skrev:
TobbeT skrev:Det var allt, ingenting emellan, men det kanske ska vara så?
Så du får 8 tomma rader efter NYA KANALNAMN och inga rader efter GAMLA KANALNAMN? Jag hade hoppats att det gamla sättet skulle ge åtminste någnting eftersom det fungerade förut. Då får vi göra det ännu enklare...

Japp, bara tomma rader

Kod: Markera allt

#!/bin/bash

sed -n 'p' <"$0"
exit

East FM                 mms://www.eastfm.se/eastfm
HardFM                  http://files.hard.fm/192.pls
Det där skriptet ska bara visa sig själv.

Kod: Markera allt

tobbe@media ~ $ ./.test2
    #!/bin/bash

    sed -n 'p' <"$0"
    exit

    East FM                 mms://www.eastfm.se/eastfm
    HardFM                  http://files.hard.fm/192.pls
Korrekt...är vi nåt på spåren (eller rättare sagt du) :)
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Så här lyssnar du på radio i terminalen.

Inlägg av Konservburk »

TobbeT skrev:Korrekt...är vi nåt på spåren (eller rättare sagt du) :)
Nu har vi tillslut något som iaf funkar som det var tänkt. Återstår bara att arbeta sig tillbaka tills det slutar fungera igen... och då har vi förhoppningsvis satt fingret på problemet.

Kod: Markera allt

#!/bin/bash

echo === TEST0 ===
sed -n "p" <"$0"

echo === TEST1 ===
sed -n "s/\s//p" <"$0"

echo === TEST2 ===
sed -n "s/\s\s//p" <"$0"

echo === TEST3 ===
sed -n "s/\s\s\+//p" <"$0"

echo === TEST4 ===
sed -n "s/\s\s\+.*//p" <"$0"

echo === TEST5 ===
sed -n "/^#/d;s/\s\s\+.*//p" <"$0"

echo === TEST6 ===
sed -n "/^#/d;s/[[:blank:]]\{2,\}.*//p" <"$0"

exit

East FM                 mms://www.eastfm.se/eastfm
#HardFM                  http://files.hard.fm/192.pls
Den här gången är det 6-test-i-ett som stegvis går från det vi vet fungerar till det vi vet inte fungerar.
Användarvisningsbild
TobbeT
Inlägg: 670
Blev medlem: 20 feb 2007, 11:45
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Eskilstuna

Re: Så här lyssnar du på radio i terminalen.

Inlägg av TobbeT »

Då blev det så här:

Kod: Markera allt

tobbe@media ~ $ ./.test3
=== TEST0 ===
    #!/bin/bash

    echo === TEST0 ===
    sed -n "p" <"$0"

    echo === TEST1 ===
    sed -n "s/\s//p" <"$0"

    echo === TEST2 ===
    sed -n "s/\s\s//p" <"$0"

    echo === TEST3 ===
    sed -n "s/\s\s\+//p" <"$0"

    echo === TEST4 ===
    sed -n "s/\s\s\+.*//p" <"$0"

    echo === TEST5 ===
    sed -n "/^#/d;s/\s\s\+.*//p" <"$0"

    echo === TEST6 ===
    sed -n "/^#/d;s/[[:blank:]]\{2,\}.*//p" <"$0"

    exit

    East FM                 mms://www.eastfm.se/eastfm
    #HardFM                  http://files.hard.fm/192.pls
=== TEST1 ===
   #!/bin/bash
   echo === TEST0 ===
   sed -n "p" <"$0"
   echo === TEST1 ===
   sed -n "s/\s//p" <"$0"
   echo === TEST2 ===
   sed -n "s/\s\s//p" <"$0"
   echo === TEST3 ===
   sed -n "s/\s\s\+//p" <"$0"
   echo === TEST4 ===
   sed -n "s/\s\s\+.*//p" <"$0"
   echo === TEST5 ===
   sed -n "/^#/d;s/\s\s\+.*//p" <"$0"
   echo === TEST6 ===
   sed -n "/^#/d;s/[[:blank:]]\{2,\}.*//p" <"$0"
   exit
   East FM                 mms://www.eastfm.se/eastfm
   #HardFM                  http://files.hard.fm/192.pls
=== TEST2 ===
  #!/bin/bash
  echo === TEST0 ===
  sed -n "p" <"$0"
  echo === TEST1 ===
  sed -n "s/\s//p" <"$0"
  echo === TEST2 ===
  sed -n "s/\s\s//p" <"$0"
  echo === TEST3 ===
  sed -n "s/\s\s\+//p" <"$0"
  echo === TEST4 ===
  sed -n "s/\s\s\+.*//p" <"$0"
  echo === TEST5 ===
  sed -n "/^#/d;s/\s\s\+.*//p" <"$0"
  echo === TEST6 ===
  sed -n "/^#/d;s/[[:blank:]]\{2,\}.*//p" <"$0"
  exit
  East FM                 mms://www.eastfm.se/eastfm
  #HardFM                  http://files.hard.fm/192.pls
=== TEST3 ===
#!/bin/bash
echo === TEST0 ===
sed -n "p" <"$0"
echo === TEST1 ===
sed -n "s/\s//p" <"$0"
echo === TEST2 ===
sed -n "s/\s\s//p" <"$0"
echo === TEST3 ===
sed -n "s/\s\s\+//p" <"$0"
echo === TEST4 ===
sed -n "s/\s\s\+.*//p" <"$0"
echo === TEST5 ===
sed -n "/^#/d;s/\s\s\+.*//p" <"$0"
echo === TEST6 ===
sed -n "/^#/d;s/[[:blank:]]\{2,\}.*//p" <"$0"
exit
East FM                 mms://www.eastfm.se/eastfm
#HardFM                  http://files.hard.fm/192.pls
=== TEST4 ===


















=== TEST5 ===


















=== TEST6 ===


















tobbe@media ~ $ 
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Så här lyssnar du på radio i terminalen.

Inlägg av Konservburk »

@TobbeT
Äntligen börjar pusselbitarna falla på plats. Det verkar som att du av någon anledning sparar alla skripten med 4 mellanrum i början av varje rad. Det beror kanske på hur du kopierar det hela? I de flesta skript spelar några mellanrum i början av varje rad ingen som helst roll, förutom att det aldrig bör vara några mellanrum innan #!/bin/bash eftersom den raden inte gör vad den ska då. Men i det här fallet så
förstör mellanrummen precis allting.

Här är en skriptet igen, men den här gången ska det kunna hantera inledande mellanrum:

Kod: Markera allt

#!/bin/bash
${1+mplayer "$@"}
IFS=$'\n'; set -- $(sed -n "s/^\s*//;/^#/d;s/\s\s\+.*//p" <"$0"); unset IFS
PS3="Välj kanal (ctrl-c avslutar): "; select REPLY; do ${REPLY:+break}; done
exec "$0" $(sed -n "/^\s*$REPLY\s\s\+/{s///p;q}" <"$0")

## TV
NBC                     mms://msnbc.wmod.llnwd.net/a275/e1/video/100/vh.asf
CNN                     mms://a466.l3760651364.c37606.g.lm.akamaistream.net/D/466/37606/v0001/reflector:51364
Sky News Live           http://live1.wm.skynews.servecast.net/skynews_wmlz_live300k?MSWMExt=.asf

## Radio
East FM                 mms://www.eastfm.se/eastfm
HardFM                  http://files.hard.fm/192.pls
RadioSeven              http://www.radioseven.se/128.pls
Studio 107.5            mms://live.alleredge.com/AE_StudioSE_Mid
107.1 Vinyl             mms://live.alleredge.com/AE_Vinyl_Mid
The Voice               mms://live.alleredge.com/AE_TheVoiceSE_Mid
Rockklassiker           mms://live.alleredge.com/AE_Rockklassiker_Mid
Mix MegaPol             mms://live.alleredge.com/AE_MixMegapol_Mid
#Mix Megapol Radio City Göteborg   mms://live.alleredge.com/AE_MixGbg_Mid
NRJ                     http://83.241.238.21/nrj/?MSWMExt=.asf
Rix FM                  http://83.241.238.21/rixfm/?MSWMExt=.asf
Lugna favoriter         http://83.241.239.21/lugna/?MSWMExt=.asf
Bandit                  http://83.241.239.21/bandit/?MSWMExt=.asf
di.fm - Trance          http://www.di.fm/mp3/trance.pls
di.fm - VocalTrance     http://www.di.fm/mp3/vocaltrance.pls
di.fm - Chillout        http://www.di.fm/mp3/chillout.pls
Club 977                http://scfire-chi0l-1.stream.aol.com/stream/1040
Favorit 102,6           http://streamer1.xmc.se/favorit?MSWMExt=.asf
Sky                     http://sky.fm/mp3/hit70s.pls
X3M                     -playlist http://akastreaming.yle.fi/vp/fiyle/no_geo/live_k.asx
P1                      mms://wm-live.sr.se/SR-P1-High
P2                      mms://wm-live.sr.se/SR-P2-High
P2 Alltid Musik         mms://wm-live.sr.se/SR-P2Alltidmusik-High
Din gata                mms://wm-live.sr.se/SR-DinGata-High
P3                      mms://wm-live.sr.se/SR-P3-High
P3 Rockster             mms://wm-live.sr.se/SR-P3Rockster-High
P3 Star                 mms://wm-live.sr.se/SR-P3Star-High
P3 Street               mms://wm-live.sr.se/SR-P3Street-High
P3 Svea                 mms://wm-live.sr.se/SR-P3Svea-High
SR Metropol             mms://wm-live.sr.se/SR-Metropol-High
P4 med Radiosporten     mms://wm-live.sr.se/SR-Radiosporten-High
SR Bubbel               mms://wm-live.sr.se/SR-srbubbel-High
SRc                     mms://wm-live.sr.se/SR-SRc-High
SR Klassiskt            mms://wm-live.sr.se/SR-SRKlassiskt-High
SR Minnen               mms://wm-live.sr.se/SR-SRMinnen-High
Sisuradio               mms://wm-live.sr.se/SR-Sisuradio-High
SR Sapmi                mms://wm-live.sr.se/sr-sapmi-high
SR Atlas                mms://wm-live.sr.se/SR-SRAtlas-High
SR Världen              mms://wm-live.sr.se/SR-SRVarlden-High
SR Blekinge             mms://wm-live.sr.se/SR-Blekinge-High
SR Dalarna              mms://wm-live.sr.se/SR-Dalarna-High
SR Gävleborg            mms://wm-live.sr.se/SR-Gavleborg-High
SR Göteborg             mms://wm-live.sr.se/SR-Goteborg-High
SR Gotland              mms://wm-live.sr.se/SR-Gotland-High
SR Halland              mms://wm-live.sr.se/SR-Halland-High
SR Jönköping            mms://wm-live.sr.se/SR-Jonkoping-High
SR Jämtland             mms://wm-live.sr.se/SR-Jamtland-High
SR Kalmar               mms://wm-live.sr.se/SR-Kalmar-High
SR Kristianstad         mms://wm-live.sr.se/SR-Kristianstad-High
SR Kronoberg            mms://wm-live.sr.se/SR-Kronoberg-High
SR Malmö                mms://wm-live.sr.se/SR-Malmo-High
SR Norrbotten           mms://wm-live.sr.se/SR-Norrbotten-High
SR Örebro               mms://wm-live.sr.se/SR-Orebro-High
SR Östergötland         mms://wm-live.sr.se/SR-Ostergotland-High
SR Sjuhärad             mms://wm-live.sr.se/SR-Sjuharad-High
SR Skaraborg            mms://wm-live.sr.se/SR-Skaraborg-High
SR Sörmland             mms://wm-live.sr.se/SR-Sormland-High
SR Stockholm            mms://wm-live.sr.se/SR-Stockholm-High
SR Uppland              mms://wm-live.sr.se/SR-Uppland-High
SR Väst                 mms://wm-live.sr.se/SR-Vast-High
SR Västerbotten         mms://wm-live.sr.se/SR-Vasterbotten-High
SR Västernorrland       mms://wm-live.sr.se/SR-Vasternorrland-High
SR Värmland             mms://wm-live.sr.se/SR-Varmland-High
SR Västmanland          mms://wm-live.sr.se/SR-Vastmanland-High
#Hälsingborgs lokalradio   mms://194.47.25.160/radiohlm
Användarvisningsbild
Ulsak
Inlägg: 4808
Blev medlem: 06 aug 2007, 19:04
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Göteborg

Re: Så här lyssnar du på radio i terminalen.

Inlägg av Ulsak »

Konservburk skrev:@TobbeT
Äntligen börjar pusselbitarna falla på plats. Det verkar som att du av någon anledning sparar alla skripten med 4 mellanrum i början av varje rad. Det beror kanske på hur du kopierar det hela? I de flesta skript spelar några mellanrum i början av varje rad ingen som helst roll, förutom att det aldrig bör vara några mellanrum innan #!/bin/bash eftersom den raden inte gör vad den ska då. Men i det här fallet så
förstör mellanrummen precis allting.

Här är en skriptet igen, men den här gången ska det kunna hantera inledande mellanrum:

Kod: Markera allt

#!/bin/bash
${1+mplayer "$@"}
IFS=$'\n'; set -- $(sed -n "s/^\s*//;/^#/d;s/\s\s\+.*//p" <"$0"); unset IFS
PS3="Välj kanal (ctrl-c avslutar): "; select REPLY; do ${REPLY:+break}; done
exec "$0" $(sed -n "/^\s*$REPLY\s\s\+/{s///p;q}" <"$0")

## TV
NBC                     mms://msnbc.wmod.llnwd.net/a275/e1/video/100/vh.asf
CNN                     mms://a466.l3760651364.c37606.g.lm.akamaistream.net/D/466/37606/v0001/reflector:51364
Sky News Live           http://live1.wm.skynews.servecast.net/skynews_wmlz_live300k?MSWMExt=.asf

## Radio
East FM                 mms://www.eastfm.se/eastfm
HardFM                  http://files.hard.fm/192.pls
RadioSeven              http://www.radioseven.se/128.pls
Studio 107.5            mms://live.alleredge.com/AE_StudioSE_Mid
107.1 Vinyl             mms://live.alleredge.com/AE_Vinyl_Mid
The Voice               mms://live.alleredge.com/AE_TheVoiceSE_Mid
Rockklassiker           mms://live.alleredge.com/AE_Rockklassiker_Mid
Mix MegaPol             mms://live.alleredge.com/AE_MixMegapol_Mid
#Mix Megapol Radio City Göteborg   mms://live.alleredge.com/AE_MixGbg_Mid
NRJ                     http://83.241.238.21/nrj/?MSWMExt=.asf
Rix FM                  http://83.241.238.21/rixfm/?MSWMExt=.asf
Lugna favoriter         http://83.241.239.21/lugna/?MSWMExt=.asf
Bandit                  http://83.241.239.21/bandit/?MSWMExt=.asf
di.fm - Trance          http://www.di.fm/mp3/trance.pls
di.fm - VocalTrance     http://www.di.fm/mp3/vocaltrance.pls
di.fm - Chillout        http://www.di.fm/mp3/chillout.pls
Club 977                http://scfire-chi0l-1.stream.aol.com/stream/1040
Favorit 102,6           http://streamer1.xmc.se/favorit?MSWMExt=.asf
Sky                     http://sky.fm/mp3/hit70s.pls
X3M                     -playlist http://akastreaming.yle.fi/vp/fiyle/no_geo/live_k.asx
P1                      mms://wm-live.sr.se/SR-P1-High
P2                      mms://wm-live.sr.se/SR-P2-High
P2 Alltid Musik         mms://wm-live.sr.se/SR-P2Alltidmusik-High
Din gata                mms://wm-live.sr.se/SR-DinGata-High
P3                      mms://wm-live.sr.se/SR-P3-High
P3 Rockster             mms://wm-live.sr.se/SR-P3Rockster-High
P3 Star                 mms://wm-live.sr.se/SR-P3Star-High
P3 Street               mms://wm-live.sr.se/SR-P3Street-High
P3 Svea                 mms://wm-live.sr.se/SR-P3Svea-High
SR Metropol             mms://wm-live.sr.se/SR-Metropol-High
P4 med Radiosporten     mms://wm-live.sr.se/SR-Radiosporten-High
SR Bubbel               mms://wm-live.sr.se/SR-srbubbel-High
SRc                     mms://wm-live.sr.se/SR-SRc-High
SR Klassiskt            mms://wm-live.sr.se/SR-SRKlassiskt-High
SR Minnen               mms://wm-live.sr.se/SR-SRMinnen-High
Sisuradio               mms://wm-live.sr.se/SR-Sisuradio-High
SR Sapmi                mms://wm-live.sr.se/sr-sapmi-high
SR Atlas                mms://wm-live.sr.se/SR-SRAtlas-High
SR Världen              mms://wm-live.sr.se/SR-SRVarlden-High
SR Blekinge             mms://wm-live.sr.se/SR-Blekinge-High
SR Dalarna              mms://wm-live.sr.se/SR-Dalarna-High
SR Gävleborg            mms://wm-live.sr.se/SR-Gavleborg-High
SR Göteborg             mms://wm-live.sr.se/SR-Goteborg-High
SR Gotland              mms://wm-live.sr.se/SR-Gotland-High
SR Halland              mms://wm-live.sr.se/SR-Halland-High
SR Jönköping            mms://wm-live.sr.se/SR-Jonkoping-High
SR Jämtland             mms://wm-live.sr.se/SR-Jamtland-High
SR Kalmar               mms://wm-live.sr.se/SR-Kalmar-High
SR Kristianstad         mms://wm-live.sr.se/SR-Kristianstad-High
SR Kronoberg            mms://wm-live.sr.se/SR-Kronoberg-High
SR Malmö                mms://wm-live.sr.se/SR-Malmo-High
SR Norrbotten           mms://wm-live.sr.se/SR-Norrbotten-High
SR Örebro               mms://wm-live.sr.se/SR-Orebro-High
SR Östergötland         mms://wm-live.sr.se/SR-Ostergotland-High
SR Sjuhärad             mms://wm-live.sr.se/SR-Sjuharad-High
SR Skaraborg            mms://wm-live.sr.se/SR-Skaraborg-High
SR Sörmland             mms://wm-live.sr.se/SR-Sormland-High
SR Stockholm            mms://wm-live.sr.se/SR-Stockholm-High
SR Uppland              mms://wm-live.sr.se/SR-Uppland-High
SR Väst                 mms://wm-live.sr.se/SR-Vast-High
SR Västerbotten         mms://wm-live.sr.se/SR-Vasterbotten-High
SR Västernorrland       mms://wm-live.sr.se/SR-Vasternorrland-High
SR Värmland             mms://wm-live.sr.se/SR-Varmland-High
SR Västmanland          mms://wm-live.sr.se/SR-Vastmanland-High
#Hälsingborgs lokalradio   mms://194.47.25.160/radiohlm
oj, vad det scrollade på ( i all oändlighet..) jag var tvungen att klippa av genom stänga ner terminalen..
Användarvisningsbild
TobbeT
Inlägg: 670
Blev medlem: 20 feb 2007, 11:45
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Eskilstuna

Re: Så här lyssnar du på radio i terminalen.

Inlägg av TobbeT »

Jag kopierade det som stog i kod-rutan, men tänkte inte på att det blev 4 mellanslag, trodde helt enkelt att det skulle vara så ;D

...testar

//Tobbe
Användarvisningsbild
TobbeT
Inlägg: 670
Blev medlem: 20 feb 2007, 11:45
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Eskilstuna

Re: Så här lyssnar du på radio i terminalen.

Inlägg av TobbeT »

FUNKAR!!!!!

Rock On konservburken, du är en klippa



//Tobbe O0
Användarvisningsbild
axel112
Inlägg: 1810
Blev medlem: 04 jan 2007, 00:13
OS: Ubuntu
Ort: Eslöv

Re: Så här lyssnar du på radio i terminalen.

Inlägg av axel112 »

Funkar här också. ;D

Tackar!

Om man klickar på "Markera allt" för att kopiera kod, så får man mellanslag i början av varje rad. Om man markerar som vanligt, blir det inte det. Inte hos mig iallafall.

Heja IFFIFF! ;)
Användarvisningsbild
Ulsak
Inlägg: 4808
Blev medlem: 06 aug 2007, 19:04
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Göteborg

Re: Så här lyssnar du på radio i terminalen.

Inlägg av Ulsak »

ja, det var så enkelt. :)
Skriv svar

Återgå till "Terminalforum"