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: Reinaldo de Carvalho
Subject: Re: [shell-script] Variáveis com apóstrofos II
Date: Tue, 6 Jan 2009 00:37:42 -0300

>
> 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"}' "
>

As aspas simples estão ai para que os caracteres especiais não sejam
interpretados (ex: {}"). Mas o programa não espera recebe-las.

#  xx () { echo $1:$2:$3 ; }
# xx a b c
a:b:c
# z="a b c"
# xx $z
a:b:c

Aqui esta o problema... o c foi recebido pelo programa com aspas:

# z="a b 'c'"
# xx $z
a:b:'c'

idem...

# z="a b '#c'"
# xx $z
a:b:'#c'
# z="a b #c"
# xx $z
a:b:#c

O que normalmente acontece é:

# xx a b 'c'
a:b:c

Então...

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\"}"

/sbin/startproc vlc $CONFIG

A unica restrição é que não pode haver espaços (nem com \ ) nos
argumentos. Caso seja necessário podes usar duas variáveis.

CONF1="-vvv input_stream --sout"
CONF2='#transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128,deinterlace}:
rtp{mux=ts,dst=239.255.12.42,sap,name="TestStream"}'

/sbin/startproc vlc $CON1 "$CONF2"




-- 
Reinaldo de Carvalho
http://korreio.sf.net (Now available in English)
http://python-cyrus.sf.net


reply via email to

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