não pode controlar o pianobar depois de usar o echo

1

Eu tenho um script que inicia o pianobar (pandora player) e o autoload em tty2 após a inicialização. Estou executando o Ubuntu Precise 12.04.

é um script bem simples:

    #!bin/bash
    sleep 5
    echo "2" | pianobar

Isso funciona, ele seleciona a estação 2 e começa a tocar ... mas quando eu tento digitar comandos ele não funciona (como pressionar "p" para pausa.) Ele mostrará a letra por um segundo, então esconda isso. Se eu tentar sair com ctrl + z, ele fica lá e não posso usá-lo.

Se eu executar isso, ele funciona bem, mas não seleciona automaticamente a segunda estação:

    #!bin/bash
    sleep 5
    pianobar

Existe alguma maneira de escrever isso, então ele irá inserir automaticamente "2" e depois permitir que eu controle a partir daí? Ou eu estou preso a ter que selecionar 2 toda vez que eu inicializo?

EDITAR:

Eu modifiquei para isso:

    #!bin/bash
    sleep 5
    { echo 2 ; cat ; } | pianobar

e faz exatamente a mesma coisa que apenas "echo 2 | pianobar"

" Não existe uma opção para o pianobar iniciar com uma estação padrão "

Eu pensava assim, mas não consigo encontrar um comando para uma configuração padrão quando eu faço "man pianobar"

Quando eu abro o programa, ele faz um login e então o programa começa com "Selecionar estação:" Eu gostaria que ele fosse automaticamente para a segunda estação.

    
por Ubuntuusr22222 02.09.2012 / 22:45

1 resposta

0

O que acontece é que você vincula o stdout de echo com o stdin de pianobar , mas o echo sai e o fluxo desaparece. Tente isso:

{ echo 2 ; cat ; } | pianobar

Minha pergunta principal, no entanto, seria: o que você está tentando alcançar? Por que não começar apenas o pianobar? Não há uma opção para o pianobar começar com uma estação padrão, se esse é o problema?

    
por January 03.09.2012 / 09:34