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