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

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

Re: [shell-script] Como introduzir o caracter especial de fim de linha


From: Julio C. Neves
Subject: Re: [shell-script] Como introduzir o caracter especial de fim de linha
Date: Wed, 18 Jul 2007 17:21:51 -0300

Fala Salviano,
Isso é meio complicado explicar por e-mail, o << chama-se Here Document.
Primeiro dê uma olhada em
https://twiki.softwarelivre.org/bin/view/TWikiBar/TWikiBarPapo001#Here_Documentque
é pequeno e escrito em português depois leia o resto do e-mail.

Viu? o << é um redirecionamento e para que o shell execute as instruções
entre o cat e o label (EOF, mas poderia ser qq coisa), estas isntruções têm
de ser priorizadas, e para isso use todas dentro de construções do tipo
$(...) ou entre crases.

Agora não deixe de ler
http://twiki.softwarelivre.org/bin/view/TWikiBar/TWikiBarPapo001#Caracteres_de_Ambiente,
tb é pequeno e está em português, mas traz exemplos legais, inclusive de
here document usando esta construções que falei.

Se entendi bem o Salviano está contribuindo com empacotamento para o Debian,
atitude que muito louvo. Porém pessoal, existem excelentes projetos
brasileiros prontos para fazerem sucesso mundo afora que não têm um
colaborador sequer. Dentre esses destaco o Jegue Panel (
http://www.jeguepanel.net/) do Anahuac de Paula Gil, um Paraibano que briga
sozinho pela sobrevivência há anos e apesar de tudo se mantém fiel aos
princípios de colaboratividade do SwL. O Jegue Panel é todo desenvolvido em
Shell.

Outro que já tem colaboradores, mas não o suficiente é o projeto HLBR (
http://hlbr.sourceforge.net/)  do owner desta lista o João *Eriberto* Mota
Filho.

Abraço,
Julio
:wq

Em 18/07/07, Salviano A. Leão <address@hidden> escreveu:
>
>   Estou fazendo adaptações num script do Daniel Grimwood
> para converter os binarios rpm do fortran da intel para
> pacotes Debian. Bom ele usa o C Shell.
>
> Na parte abaixo do script, ele redireciona tudo
> que esta entre chaves {} para o arquivo.
>
> Pelo que entendi o \"EOF é um caracter especial que
> vai identificar o fim deste cat.
>
> Bom meu script está pronto, mas usei o bash e
> já tive ajuda da lista.
>
> Se uso esta forma de cat ele pega todas as linhas,
> incluindo as que estão no final da }, Eu gostaria
> que ele parasse após
> }
> \"EOF
>
> Como torno esta estrutura funcional no bash?
>
> Sei que poderia usar o echo para tal, entretano
> estou mais interresado em aprender como usar
> esta forma no bash.
>
> cat << \"EOF >> tmp/DEBIAN/postinst
> {
> for FILE in $(find $DESTINATION/bin/ -regex '.*[ei](cc|fort|fc|
> cpc)$\|.*cfg$\|.*pcl$\|.*vars[^/]*.c?sh$' 2> /dev/null) ; do
> sed s@\<INSTALLDIR\>@$DESTINATION@g $FILE > ${FILE}.abs
> mv ${FILE}.abs $FILE
> chmod 755 $FILE
> done
>
> for FILE in $(find $DESTINATION/bin/ -regex '.*[ei]cc' 2> /dev/null) ; do
> sed s@\<INSTALLDIR\>@$DESTINATION@g $FILE > ${FILE}.abs
> mv ${FILE}.abs $FILE
> chmod 755 $FILE
> done
>
> for FILE in $(find $DESTINATION/bin/ -regex '.*[ei]cpc' 2> /dev/null) ; do
> sed s@\<INSTALLDIR\>@$DESTINATION@g $FILE > ${FILE}.abs
> mv ${FILE}.abs $FILE
> chmod 755 $FILE
> done
>
> for FILE in $(find $DESTINATION/bin/ -regex '.*[ei]fort' 2> /dev/null) ;
> do
> sed s@\<INSTALLDIR\>@$DESTINATION@g $FILE > ${FILE}.abs
> mv ${FILE}.abs $FILE
> chmod 755 $FILE
> done
>
> for FILE in $(find $DESTINATION/bin/ -regex '.*[ei]fc' 2> /dev/null) ; do
> sed s@\<INSTALLDIR\>@$DESTINATION@g $FILE > ${FILE}.abs
> mv ${FILE}.abs $FILE
> chmod 755 $FILE
> done
>
> for FILE in $(find $DESTINATION/bin/ -type f -iname 'iccec'
> 2> /dev/null) ; do
> sed s@\<CCBIN\>@"$DESTINATION/bin"@g $FILE > ${FILE}.abs
> mv ${FILE}.abs $FILE
> chmod 755 $FILE
> done
>
> for FILE in $(find "$DESTINATION/bin" -type f -iname 'iccec'
> 2> /dev/null) ; do
> sed s@\<NON_ROOT_USER_HOME_FOLDER\>@"$DEFAULT_INSTALL_DIR_PREFIX"@g
> $FILE > ${FILE}.abs
> mv ${FILE}.abs $FILE
> sed s@NON_ROOT_INSTALLATION=\"\"@NON_ROOT_INSTALLATION=\"1\"@g $FILE >
> ${FILE}.abs
> mv ${FILE}.abs $FILE
> chmod 755 $FILE
> done
> }
> \"EOF
> dpkg-deb -b tmp $DEBFILE
> rm -rf tmp
>  
>



-- 
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq


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



reply via email to

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