Redirecionador [RESOLVIDO]

1. Redirecionador [RESOLVIDO]

diêgo
soldadolinux

(usa Linux Mint)

Enviado em 15/09/2011 - 21:20h

Olá pessoal estou com uma dúvida estou querendo redirecionar um comando dentro de um script vejam ele
#/bin/bash
dialog --yesno "INSTALAR O COMANDO CL" 0 0
if [ $? = 0 ]; then
cl()
{ if [ -d "$1" ]; then
cd "$1"
ls
fi }
> /etc/profile
source /etc/profile
else
dialog --msgbox 'alteracao cancelada' 0 0
fi

Só que o > não funciona então como faço para redirecionar esse trecho para o arquivo /etc/profile


  


2. Re: Redirecionador [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 15/09/2011 - 22:54h

Você quer redirecionar a listagem do diretório?

coloca apenas:

ls > arquivo

Abraços


3. Redirecionador

diêgo
soldadolinux

(usa Linux Mint)

Enviado em 15/09/2011 - 23:20h

Não pessoal eu quero que
cl()
{ if [ -d "$1" ]; then
cd "$1"
ls
fi }
seja adicionado ao arquivo profile que está em /etc isso tudo por meio de um script como falei na minha pergunta entenderam


4. Re: Redirecionador [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 15/09/2011 - 23:29h

Há então pode fazer assim, coloca uma função interna e chama ela lá mesmo redirecionando para o arquivo que queres:

mostrar(){
cat <<FIM
cl()
{ if [ -d "$1" ]; then
cd "$1"
ls
fi }
FIM
}
mostrar "$1" > arquivo


Abraços



5. Redirecionador

diêgo
soldadolinux

(usa Linux Mint)

Enviado em 15/09/2011 - 23:52h

funcionou com um problema porque ele substituiu tudo do arquivo profile eu quero que os comandos sejam inclusos nas linhas finais do arquivo profile entende tentei essa sintaxe e não funcionou

2.16. Incluir linha após a última
sed -e '$a\' -e 'linha final'


6. Re: Redirecionador [RESOLVIDO]

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 15/09/2011 - 23:58h

1º salve o arquivo do profile com outro nome.
2º Confira se o arquivo do profile já tem o que deseja. Se tiver, pode substituir ou deixar como está. ( Um grep buscando o que deseja deve resolver)
3º Se vai incluir no profile e ele ainda não tem as infos, é só trocar de > para >> que o redirecionamento vai adicionar as linhas no final do arquivo.

Eu já fiz isto no .bashrc e por este motivo agora salvo sempre antes o que estava nele antes de realizar qualquer operação. Muito similar ao que você deseja.




7. Re: Redirecionador [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 15/09/2011 - 23:59h

Falha nossa ;-)

Basta substituir o redirecionador ">" por ">>" ai ele acrescenta ao conteúdo do arquivo.

Abraços


8. Redirecionador

diêgo
soldadolinux

(usa Linux Mint)

Enviado em 16/09/2011 - 07:33h

Tá certo com o >> realmente redirecionou mais o comando cl ainda não funciona ele não copiou o "$1" ficou assim no arquivo profile

mostrar(){
cat <<FIM
cl()
{ if [ -d "" ]; then
cd ""
ls
fi }
FIM }
mostrar "$1" >> /etc/profile




9. Re: Redirecionador [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 16/09/2011 - 10:29h

Esse cl faz o que?

E você passou o parâmetro $1 ?

Abraços


10. Re: Redirecionador [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 16/09/2011 - 10:30h

Há entendi o cl(), é o nome da sua função ;-)

Eu passei como mostrar(), basta você substituir, eu tinha passado como exemplo :-)


Abraços


11. Redirecionador

diêgo
soldadolinux

(usa Linux Mint)

Enviado em 16/09/2011 - 13:31h

Olha é o seguinte está tudo certo os comandos estão sendo redirecionado para /etc/profile só que o $1 não está sendo redirecionado veja

mostrar(){
cat <<FIM

cl()
{ if [ -d "$1" ]; then <--------$1 não redireciona p/arquivo profile
cd "$1" <--------------------$1 não redireciona p/arquivo profile
ls
fi }

FIM
}
mostrar "$1" >> /etc/profile





12. Re: Redirecionador [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 16/09/2011 - 23:31h

Testei e deu certo.

Você chamou o script assim:

./nome_script valor_de_entrada


Obs.: esse "valor_de_entrada" vai ficar no lugar da variável $1

Ou você não quer isso?

Abraços




  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts