[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Uso de Variável contendo espaço na linha de comando
From: |
romildo |
Subject: |
Re: [shell-script] Uso de Variável contendo espaço na linha de comando |
Date: |
Wed, 21 Jan 2004 19:48:14 -0200 |
User-agent: |
Mutt/1.5.5.1i |
On Wed, Jan 21, 2004 at 05:25:19PM -0200, Geison Farias wrote:
>
> faça o seguinte teste
>
> [geison@eletro geison]$ TESTE="oi meu nome eh \"Geison\" "
> [geison@eletro geison]$ echo $TESTE
> oi meu nome eh "Geison"
>
> At 17:18 21/1/2004 -0200, you wrote:
> >
> >Estou escrevendo um script para o bash onde faço:
> >
> >Em um script bash preciso executar um comando da forma:
> >
> >$ transcode ... -J subtitler="subtitle_file=$f.ppml color_depth=32" ...
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >
> >Porém a opção '-J' juntamente ao seu argumento não deve
> >ser escrita diretamente na chamada do comando 'transcode',
> >porém deve estar definida numa variável 'sub'
> >
> >sub="-J subtitler=subtitle_file=$f.ppml color_depth=32"
> > ^ ^
> > | |
> >
> >Problema: como colocar as aspas nos pontos indicados de
> >tal forma que o comando
> >
> >$ transcode ... $sub ...
> >
> >seja equivalente ao primeiro comando citado acima?
Não funciona colocando o esacpe seguido de aspas.
Trecho do meu script:
[...]
local subcmd=""
case "subtitler" in
subtitler)
subcmd="-J subtitler=\"subtitle_file=$basename.ppml color_depth=32\""
;;
extsub)
subcmd="-J extsub=$sid:60:-400:0:0:0:0:1:2"
;;
esac
transcode -i $inputname $sample -y mpeg2enc,null \
$resize \
-V --export_asr $aspect \
-F "5,-s -B $nonvideobitrate -V 230 -S $cdmaxsize -4 2 -2 1 $vquality" \
-w $vbitrate \
$subcmd $soundcmd \
-o $name.$tag
[...]
Ao executar eu tenho o seguinte log:
+ local subcmd=
+ subcmd=-J subtitler="subtitle_file=matrix.reloaded.ppml color_depth=32"
+ transcode -i matrix.reloaded.avi -c 0-2400 -y mpeg2enc,null --export_prof
svcd -V --export_asr 2 -F '5,-s -B 286 -V 230 -S 800 -4 2 -2 1 -q 5 -K hi-res
-R 0 -E -5' -w 2900 -J 'subtitler="subtitle_file=matrix.reloaded.ppml'
'color_depth=32"' -o matrix.reloaded.sample
transcode v0.6.12 (C) 2001-2003 Thomas Oestreich, 2003-2004 T. Bitterberg
[transcode] warning : unused command line parameter detected (20/21)
[transcode] warning : argc[20]=color_depth=32" (unused)
Observe como a variável está sendo expandida:
-J 'subtitler="subtitle_file=matrix.reloaded.ppml' 'color_depth=32"'
Alguma dica?