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: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Como introduzir o caracter especial de fim de linha
Date: Wed, 18 Jul 2007 16:44:44 -0300

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
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/


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



reply via email to

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