shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: liberar aplicação shell para outras opções


From: Heitor
Subject: Re: liberar aplicação shell para outras opções
Date: Fri, 23 Jan 2009 16:34:47 -0000
User-agent: eGroups-EW/0.82

--- Em address@hidden, "Alain M." <alainm@...> escreveu
>
> pouco tempo atrás,  recebi uma resposta qui na lista:
> 
> Leandro Santiago escreveu:
>  > > Você deve declarar e executar a função dentro do subshell que o
sudo
>  > > executará.
>  > >
>  > > COMANDO="function rkonq()
>  > > {
>  > >   export KDEROOTHOME=/home/alain/.kde0
>  > >   konqueror --profile filemanagement
>  > > }
>  > > rkonq
>  > > "
>  > > sudo bash -c "$COMANDO"
> 
> Isso funcionou porque o Bash que entra com o novo usuário recebe o 
> script todo pronto e executa ok. A mesma solução deve servir para você.
> 
> Alain
> 


Alain acho que isso não vai resolver para este caso dele.

Não sei como isso aqui funciona "gnome-terminal -e " mas pela
descrição do problema é questão de escopo de variável.

As variáveis declaradas dentro do script dele não são visíveis pelo
"gnome-terminal -e " porque este é um outro shell e o escopo de uma
variável local restringe-se ao shell que esta executando o script.

Ele pode facilmente resolver isso usando variáveis de ambiente com o
comando "export $VARIAVEL". Entretanto o valor destas ficará visível
para todo o sistema e também seu valor poderá ser alterado por qq
outra aplicação.

Como não tenho um Linux aqui não tenho como testar mas talvez uma
outra forma de resolver isso sem usar variável de ambiente talvez seja
assim:
gnome-terminal --command="ssh `echo $USUARIO`@`echo $IP` -p `echo $PORTA`"

Bom Karin faça estes 2 testes ai e nós reporte os resultados.

[ ]'s
Heitor.




reply via email to

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