[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] criar um novo arquivo
From: |
Julio C. Neves |
Subject: |
Re: [shell-script] criar um novo arquivo |
Date: |
Tue, 13 Jan 2009 20:15:48 -0200 |
Fala Claudemir,
se vc bobear o bash expande. Como vc quer colocar os cmds dentro do profile,
e não sua execução, vc tem de protegê-los da interpretação do shell. Veja:
for user in `cat /tmp/user_desenv.txt`
do
cat >> .bash_profile << END_OF_TEXT
# BLABLABLABLA
'if [ `cat /etc/session` = 1 ]
then
VAR=`who | cut -c1-8 | tr -d "\040" | grep "$LOGNAME" | wc -l`
if [ "$VAR" -gt 2 ] && [ "$LOGNAME" != "root" ]
then
/etc/mensagem
exit
fi
fi'
# Fim da Implementacao
END_OF_TEXT
done
Bastou botar um apóstrofo no início e outro no final.
--
Abração,
*Julio
Cursos de Shell e Zenity nos finais de semana:
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000;
- Turmas fechadas em outras cidades ligue (21) 8112-9988*
2009/1/13 claudemirff <address@hidden>
> Olá pessoal tudo bem?
>
> Estou com uma dificuldade em criar fazer um shellscript para criar um
> arquivo com um conteudo que preciso. O que está acontecendo é que no
> momento da criação dos arquivos o shell está executando os comandos ao
> invés de apenas printar no arquivo final. Estou fazendo da seguinte
> maneira
>
> for user in `cat /tmp/user_desenv.txt`
> do
> cat >> .bash_profile << END_OF_TEXT
> # BLABLABLABLA
> if [ `cat /etc/session` = 1 ]
> then
> VAR=`who | cut -c1-8 | tr -d "\040" | grep "$LOGNAME" | wc -l`
> if [ "$VAR" -gt 2 ] && [ "$LOGNAME" != "root" ]
> then
> /etc/mensagem
> exit
> fi
> fi
> # Fim da Implementacao
> END_OF_TEXT
> done
>
> Exemplo da saída.
>
> if [ 1 = 1 ]
> then
> VAR=3
> if [ "3" -gt 2 ] && [ "root" != "root" ]
> then
> /etc/mensagem
> exit
> fi
> fi
> # Fim da Implementacao
>
> Desde já, agradeço pela ajuda.
>
> []'s
>
> Claudemir.
>
>
>
[As partes desta mensagem que não continham texto foram removidas]