Valeu MrBits, mas eu não quero utilizar um subshell, nem mesmo um for.
O caractere C não é o que vou utilizar para separação, era só um exemplo
para facilitar, eu preciso de colocar os caracteres de '\\n'.

Bom, meu caso é em um arquivo Makefile, onde eu tenho a seguinte
configuração:

DEBDIR  := $(CURDIR)/debian/
METADIR := $(DEBDIR)/metas/
SHORT_D := "Meta pacote para "
FULL_D  := "Este meta pacote instala os aplicativos\\n necessários para "

makebuilddir/vix-meta-packages::
        cat $(DEBDIR)/control.in > $(DEBDIR)/control
        @for META in $(METADIR)/*;do            \
                echo -n "$$META...";            \
                eval "`cat $$META`";            \
                SHORT_DESC=$${SHORT_DESC:-$(SHORT_D)$$NAME} ;\
                FULL_DESC=$${FULL_DESC:-$(FULL_D)$$NAME} ;\
                sed "s;PACKAGENAME;$${PACKAGENAME,,};   ;\
                     s;PROVIDES;$$PROVIDES;             ;\
                     s;CONFLICTS;$$CONFLICTS;           ;\
                     s;DEPENDS;$$DEPENDS;               ;\
                     s;SHORT_DESC;$$SHORT_DESC;         ;\
                     s;FULL_DESC;$$FULL_DESC;"           \
                $(DEBDIR)/control.meta.in >>  $(DEBDIR)/control; \
        done

abaixo o exemplo de um conteúdo de um arquivo do diretório $METADIR:

PACKAGENAME="conjunto-multimidia"
PROVIDES=""
CONFLICTS=""
DEPENDS="smart-notebook-10, smart-core-events"
SHORT_DESC="Aplicativos multimidia para o desktop"
FULL_DESC="Esse meta-pacote fornece um conjunto
 de aplicativos multimídia par o desktop"

sei que eu poderia simplesmente pedir para a pessoa expressar o '\n' na
variável FULL_DESC, mas eu quero deixar mais a nível de usuário e de
visualização mais fácil também.
Pra fazer isso com um subshell eu não tenho problemas não, eu queria mesmo é
ver se tem como fazer com expansão de variáveis, ou alguma outra forma que
não seja necessário o subshell. Inclusive eu também não estou gostando desse
eval meu nao... heheh

abraços

Em 23 de junho de 2010 16:01, MrBiTs <mrbits....@gmail.com> escreveu:

>
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
>
> > Obrigado Fernando, mas podem ser várias linhas.
> > mesmo assim, muito obrigado
>
> Acho que a dica do Fernando é válida e você pode varrer a variável através
> de um laço for nela. Não faltam uns conceitos de
> programação aí não ?
>
> Agora, veja que interessante:
>
> VAR="teste
>
> testando
>
> testado"
>
> echo $VAR
> teste testando testado
>
> echo $VAR | tr " " "C"
>
> Embora eu particularmente ache que esse C é um caracter safado de
> separação, há uma coisa chamada IFS, que é utilizado nesse caso.
> Se você não proteger a varíavel, os IFS encontrados (no caso o caracter de
> nova linha) são convertidos para um espaço (a grosso
> modo, mas não tenho muito tempo para me extender nas explicações agora,
> infelizmente) e você pode usar qualquer ferramenta para
> substituir esse espaço pelo delimitador que você preferir.
>
> - --
>
> Um abraço
>
> .0. MrBiTs - mrbits....@gmail.com <mrbits.dcf%40gmail.com>
> ..0 GnuPG -
> http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB
> 000 http://www.mrbits.com.br
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iQEcBAEBCAAGBQJMIlonAAoJEG7IGPwrPKWrXIIH/iQYdvXPiAOQa9xLIOhzDtCA
> cEEM9FR+cXV5FUHEBPKJn3dDkUm+8IntFImzoMAcvIG3c57mNIRh6i413uKE80JT
> Ixz6tUFfQQ+82u931CnPoLQLRFx6Cm1ywzqHLbD0M31R3bhHLHaNQv+wP+WMm+pM
> GW6not0eP/XsV8bevZjw5uiqLMMRluCORWZNhYZmrGKLdeBWiT0Iv8WMcoRNhhY3
> 2QfC/CGNnGU76g8bhearmc73DxYDk3OQpinufSVdPuGoYN2Oyl6pqOivnVEEFK+M
> 3yd1PzijBOvYXkTKyLKCjZ4hBSxHTwS2xWmLXFOl5n1RTvMj408ZpASOuVCcMV8=
> =lBd6
> -----END PGP SIGNATURE-----
>  
>



-- 
Jacson R. C. Silva


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



------------------------------------

---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: shell-script-unsubscr...@yahoogrupos.com.br
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    shell-script-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a