shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Variáveis com apóstrofos II


From: Fabiano Caixeta Duarte
Subject: Re: [shell-script] Variáveis com apóstrofos II
Date: Tue, 6 Jan 2009 00:34:24 -0200

2009/1/5 Fernando Gottlieb <address@hidden>

> Tentei simplificar para explicar, mas vi que não ajudou muito.
> Vamos à prática.
>
> Criei um serviço no OpenSUSE usando o padrão Suse, não o LSB.
> Este serviço recebe parâmetros de um arquivo de configuração.
> O serviço consiste em receber um streaming (áudio/vídeo) e transcodificar
> para
> outro endereço.
>
> A forma original e funcional é esta:
>
> vlc -vvv input_stream --sout
> '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
> rtp{mux=ts,dst=239.255.12.42,sap,name="TestStream"}'
>
> No arquivo de configuração, armazeno todos os parâmetros que serão
> passados para o VLC.
>
> CONFIG="-vvv input_stream --sout
> '#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
> rtp{mux=ts,dst=239.255.12.42,sap,name="TestStream"}' "
>
> No script do serviço, faço a leitura do arquivo de configuração e
> obtenho o conteúdo da variável através de
> $CONFIG e executo-o da seguinte forma:
>
> /sbin/startproc vlc $CONFIG
>
> A instrução completa, na forma original como relatado acima, funciona,
> tudo numa só linha, mas como
> não quero reescrever este serviço (no caso de uma alteração de
> parâmetros) estou tentando obter as
> configurações de outro arquivo.
>
> Se uso " " para limitar os dados da variável, um echo $CONFIG mostra o
> conteúdo da variável porém o
> serviço não inicializa.
>
> Se uso ' ' para limitar os dados, o próximo apóstrofo ( '#transcode "
> ) fechará a primeira sentença quebrando
> a variável. Sem falar que o próximo caractere ( # ) torna o restante
> do conteúdo um mero comentário na linha.
>
> Estes são alguns problemas que observei.
>
> Eis um exemplo prático de streaming de um arquivo de vídeo:
>
> vlc arquivo.avi -vvv --sout
>
> '#transcode{vcodec=mp4v,acodec=mpga,vb=1800,ab=128,width=352,height=288,fps=30.00,audio-sync,deinterlace}:std{access=udp,mux=ts,dst=239.255.255.201}'
>
> E para visualizar, use o VLC no linux/windows:
>
> Vá em 'abrir mídia na rede' e digite:
>
> udp://@239.255.255.201
>
> Abraços
>
> Fernando Gottlieb
>

Agora sim! Claro como água (limpa). Ou quase.

Precisamos agora saber como o startproc trata os parâmetros.

Já tentou fazer

startproc vlc "$CONFIG"

pra evitar que o bash trate as aspas simples e deixe o startproc se virar
com elas?


-- 
Fabiano Caixeta Duarte
Especialista em Redes de Computadores
Linux User #195299
Ribeirão Preto - SP


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]