Minha pergunta é: é possível fazer o que o título diz? Para ser mais preciso, gostaria de executar mplayer
dentro de um script bash shell
usando um comando como
mplayer http://someURL &
onde someURL
contém um padrão fixo com um padrão de variável incorporado, para ser passado ao script como um parâmetro.
Eu tentei, mas mplayer
trava enquanto o mesmo comando escrito em bash
em execução em gnome-terminal
funciona bem.
Portanto, há opções a serem fornecidas na linha de comando do mplayer
ou simplesmente isso é impossível?
Para especificar a pergunta, de acordo com a solicitação do dirkt, minhas tentativas foram feitas tentando reproduzir um fluxo gerado por sopcast
: executando o programa
sp-sc-auth
passando para ele um link sop
conecta um fluxo de áudio / vídeo a uma porta aleatória do computador. Então mplayer
"toca" o fluxo com um
comando como este
mplayer http://localhost:<portnumber>/tv.asf
onde a parte variável é apenas o <portnumber>
Digitar o comando anterior no shell de gnome-terminal
reproduz bastante o fluxo, enquanto isso não acontece se o mesmo comando aparecer em um script bash
.
Aqui estão os comandos sample que escrevi no shell script:
porta=$(( $RANDOM + 30000 ))
portb=$(( $RANDOM + 30000 ))
sp-sc-auth $1 $porta $portb 1>& /dev/null &
mplayer http://localhost:${portb}/tv.asf
e o script foi executado passando um sop-link
válido como primeiro e único parâmetro. Monitorar os processos em execução assim que o script terminar sem êxito mostra sp-sc-auth
ainda em execução e emitindo o comando mplayer
manualmente em gnome-terminal
exibe corretamente o fluxo.