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: Salviano A. Leão
Subject: Re: [shell-script] Como introduzir o caracter especial de fim de linha
Date: Wed, 18 Jul 2007 17:21:47 -0300
User-agent: KMail/1.9.6

Em Qua 18 Jul 2007, Tiago Barcellos Peczenyj escreveu:

Valeu Tiago

Vou trocar meus echo por esta forma mais inteligente.

Obrigado.




> Salviano.
>
> A construção do Bash (e, provavelmente, do C Shell)
>
> cat << ALGUMACOISA
> ...
> ALGUMACOISA
>
> envia todo o texto ate o ALGUMACOISA para a entrada padrão do cat.
> Normalmente é usada a palavra EOF, mas não se trata do caracter EOF e sim
> do texto literal.
>
> se vc escrever assim deve funcionar:
>
> cat << TERMINA >> alguma_coisa
> {
> 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
> ...
> done
> }
> TERMINA
> dpkg-deb -b tmp $DEBFILE
> rm -rf tmp
>
> No seu caso, se quiser manter o \"EOF basta remover a contra-barra do EOF
> lá no 'final' do seu script.
>
> cat << \"ORK
>
> > asdasdsd
> > "ORK
>
> asdasdsd
>
> []´s Tiago
>
> On 7/18/07, Salviano A. Leão <address@hidden> wrote:
> >   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




reply via email to

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