> >  Terminei a quarta com uma dúvida de porque isso não funciona:
> > echo -e ${x1[*]//%//$gs_defaults/$(wmaker)\\\n}| sh
> >
> >  o resultado:
> > sh: line 1: apply_fix: command not found
> > sh: line 2: apply_fix: command not found
> > sh: line 3: apply_fix: command not found
> > sh: line 4: apply_fix: command not found
>
>    Essa e' facil, apply_fix e' uma funcao local e existe nomente na 
> instancia atual do sh(bash),
> quando vc fez um pipe |sh mando executar
> echo "apply_fix /home/ricardo2/Defaults/WMState apply_fix 
> /home/ricardo2/Defaults/WMWindowAttributes apply_fix 
> /home/ricardo2/Defaults/WindowMaker" |sh e e' obvio que em seu 
> /etc/profile vc nao tem essa funcao, pra fazer isso funcionar vc
deveria 
> passas os diretorio
> atraves de um for ou while para a funcao tratar, dessa forma td fica
local.
 
Sobre a "instância atual do sh" tudo bem, mas eu não chegava até o
/etc/profile. Obrigado!

> > for ((i=0;i<${#x1[*]};i++))
> > do
> >         for f in wmaker wmstate wmpref
> >         do
> >                 $(echo -e ${x1[$i]//%//$gs_defaults/$($f)}) # | sed
> > "s#^#apply_fix #g;/ $/d" )
> >                 #apply_fix ${gs_system_defaults}/$($f)
> >         done
> > done
>
> for _dir in [EMAIL PROTECTED];do
>          for f in wmaker wmstate wmpref;do
>                  apply_fix  ${_dir//%//$gs_defaults/$($f)}
>          done
> done
>
>
>      Eu achei essa forma muito mais legivel, nos scripts que faco acho 
> importantes tomar cuidado
> com substituicoes do tipo  ${_dir//%//$gs_defaults/$($f)}, normalmente 
> isso dificulta a leitura,
> eu sempre declaro novas variaveis com o conteudo da modificacao oq vai 
> ajudar alguem a ler e entender.
>

É, um scritp de fácil leitura é uma boa prática de programação. Mesmo
que aconteça de alguma perda de velocidade.

Obrigado pela atenção!


[]
hpfn





---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
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

Responder a