Autor Tópico: ShellScript Duvida de como fazer uma instrução simples de achar a pasta pessoal!  (Lida 6319 vezes)

Offline leandro.miranda

  • Usuário Ubuntu
  • *
  • Mensagens: 104
  • Vivendo, Aprendendo e Repassando!
    • Ver perfil
BOm pessoal eu fiz um script dentro de um botão com o Kommander, ao clicar no botão ele faz a seguinte funções!

Código: [Selecionar]
# PERGUNTA SE QUER FAZER O DOWNLOAD SE A RESPOSTA FOR SIM ELE EXECUTA O XTERM COM O ARGUMENTO WGET
kdialog --yesno "Deseja Fazer Download da imagem ISO com 700MB?" --title "Fazer Download Agora?";
if [ "$?" = "1" ]; then
exit 0
fi
xterm -e wget -P naUnha/CD-DVD/ -c http://localhost/unha-ubuntu6.06-0.01.iso;

#APOS FAZER O DOWNLOAD PERGUNTA SE VOCÊ DESEJA QUE SEJA ABERTO O GERENCIADOR DE ARQUIVO NO LOCAL QUE FOI SALVO A ISO!

kdialog --yesno "Download Completo Realizado. Deseja Abrir a pasta que contem a ISO?";
if [ "$?" = "1" ]; then
exit 0
fi
konqueror /home/$user/naUnha/CD-DVD/
fi

Na penultima linha: konqueror /home/$user/naUnha/CD-DVD/ --- nao funciona, o script não acha o nome do usuário que está sendo utilizado na sessão. Alguem sabe como eu posso fazer pra identificar o usuário que está utilizando o script complementar a URL para o Konqueror possa abrir o endereço correto?
Obrigado,

Ass. Leandro Miranda

Offline Lamego

  • Usuário Ubuntu
  • *
  • Mensagens: 1.943
    • Ver perfil
Re: ShellScript Duvida de como fazer uma instrução simples de achar a pasta pess
« Resposta #1 Online: 08 de Agosto de 2006, 18:44 »
Primeiro uma correção:
Código: [Selecionar]
if [ "$?" = "1" ]; thendeveria ser:
Código: [Selecionar]
if [ $? -eq 1 ]; thenisto porque $? é um numero e não uma string

Em relação ao seu problema, o nome do usuario é $USER em maiuscula, as variaveis são "case sensitive" .


João Luís Marques Pinto
Mais programs e jogos para o Ubuntu

Offline Xterminator

  • Usuário Ubuntu
  • *
  • Mensagens: 1.279
    • Ver perfil
Re: ShellScript Duvida de como fazer uma instrução simples de achar a pasta pess
« Resposta #2 Online: 08 de Agosto de 2006, 20:46 »
Não sei pra que serve, mas se fosse uma versão GNOME seria assim  utilizando zenity ;-)
o único erro realmente é a variável $USER que o colega acima citou, a outra "if [ "$?" = "1" ]; then" passou batido, só pra constar caso alguém deseje usar, logicamente tem que ter uma URL válida.
Código: [Selecionar]
# PERGUNTA SE QUER FAZER O DOWNLOAD SE A RESPOSTA FOR SIM ELE EXECUTA O XTERM COM O ARGUMENTO WGET
zenity --question --text="Deseja Fazer Download da imagem ISO com 700MB?" --title "Fazer Download Agora?";
if [ "$?" = "1" ]; then
exit 0
fi
xterm -e wget -P naUnha/CD-DVD/ -c http://localhost/unha-ubuntu6.06-0.01.iso;

#APOS FAZER O DOWNLOAD PERGUNTA SE VOCÊ DESEJA QUE SEJA ABERTO O GERENCIADOR DE ARQUIVO NO LOCAL QUE FOI SALVO A ISO!

zenity --question --text="Download Completo Realizado. Deseja Abrir a pasta que contem a Imagem ISO?";
if [ "$?" = "1" ]; then
exit 0
fi
nautilus /home/$USER/naUnha/CD-DVD/
« Última modificação: 08 de Agosto de 2006, 21:13 por Xterminator »

Offline AlexBR

  • Usuário Ubuntu
  • *
  • Mensagens: 388
    • Ver perfil
Re: ShellScript Duvida de como fazer uma instrução simples de achar a pasta pess
« Resposta #3 Online: 08 de Agosto de 2006, 22:30 »
O diretório do usuário pode ser subistituído pelo dígito ~ (til). Por exemplo, ~/Desktop.

Offline Lamego

  • Usuário Ubuntu
  • *
  • Mensagens: 1.943
    • Ver perfil
Re: ShellScript Duvida de como fazer uma instrução simples de achar a pasta pess
« Resposta #4 Online: 09 de Agosto de 2006, 08:02 »
Citar
Não sei pra que serve, mas se fosse uma versão GNOME seria assim  utilizando zenity ;-)
o único erro realmente é a variável $USER que o colega acima citou, a outra "if [ "$?" = "1" ]; then" passou batido, só pra constar caso alguém deseje usar, logicamente tem que ter uma URL válida.
"if [ "$?" = "1" ]; then" funciona mas não é a forma correcta de utilizar, o $? não retorna texto mas sim um número, e os numeros deve sem comparados com -eq não com "=" .
Citar
O diretório do usuário pode ser subistituído pelo dígito ~ (til). Por exemplo, ~/Desktop.
A outra forma é utilizar a variavel $HOME/desktop .
João Luís Marques Pinto
Mais programs e jogos para o Ubuntu

Offline leandro.miranda

  • Usuário Ubuntu
  • *
  • Mensagens: 104
  • Vivendo, Aprendendo e Repassando!
    • Ver perfil
Re: ShellScript Duvida de como fazer uma instrução simples de achar a pasta pess
« Resposta #5 Online: 09 de Agosto de 2006, 08:09 »
Pessoal estou fazendo duas interfaces graficas pra Instalar as atualizações nas maquinas na rede tudo pelos botões, como são muitas maquinas vou remasterizar um CD com os pacotes como esse link mostra http://wiki.ubuntubrasil.org/Utilitarios/UbutonCacheRescue e em seguida eu vou criar um painel onde eu clico nos botões e ele instala. A unica coisa que muda sempre é o nome de usuário e por isso eu estou precisando dessa ajuda de vocês, os ambientes que aqui na empresa são utilizados são KDE e Gnome.
Obrigado,

Ass. Leandro Miranda

Offline Lamego

  • Usuário Ubuntu
  • *
  • Mensagens: 1.943
    • Ver perfil
Re: ShellScript Duvida de como fazer uma instrução simples de achar a pasta pess
« Resposta #6 Online: 09 de Agosto de 2006, 08:17 »
Leandro,
não entendo a lógica do script para o seu objectivo das actualizações.
As actualizações não sao para ocorrer em todos os sistemas ? É preciso os utilizadores responderem a algo ?

Se todos esses computadores estão em rede o mais fácil seria configurar um deles como servidor de APT.
Depois bastaria colocar uma entrada no /etc/apt/sources.list para esse servidor e dar um
Código: [Selecionar]
sudo apt-get update && sudo apt-get upgradeAinda que fizesse isso com botões ficara bem mais fácil do que andar a distribuir o ISO .
Não sei se o Kubuntu tem zenity, se tiver talvez seja uma melhor opção porque funcionaria em ambos os sistemas, tambem pode utilizar o xdialog, mas teria que ser instalado.
João Luís Marques Pinto
Mais programs e jogos para o Ubuntu

Offline leandro.miranda

  • Usuário Ubuntu
  • *
  • Mensagens: 104
  • Vivendo, Aprendendo e Repassando!
    • Ver perfil
Re: ShellScript Duvida de como fazer uma instrução simples de achar a pasta pess
« Resposta #7 Online: 09 de Agosto de 2006, 08:18 »
Meu brother, corrigi o codigo e deixei ele com as suas observações e rodou perfeitamente! Obrigado!

Código: [Selecionar]
# PERGUNTA SE QUER FAZER O DOWNLOAD SE A RESPOSTA FOR SIM ELE EXECUTA O XTERM COM O ARGUMENTO WGET
kdialog --yesno "Deseja Fazer Download da imagem ISO com 700MB?" --title "Fazer Download Agora?";
if [ "$?" -eq "1" ]; then
exit 0
fi
xterm -e wget -P naUnha/CD-DVD/ -c http://localhost/unha-ubuntu6.06-0.01.iso;

#APOS FAZER O DOWNLOAD PERGUNTA SE VOCÊ DESEJA QUE SEJA ABERTO O GERENCIADOR DE ARQUIVO NO LOCAL QUE FOI SALVO A ISO!

kdialog --yesno "Download Completado! Deseja Abrir a pasta que contém a ISO?" --title "Download Finalizado!";
if [ "$?" -eq "1" ]; then
exit 0
fi
konqueror /home/$USER/naUnha/CD-DVD/
fi


Primeiro uma correção:
Código: [Selecionar]
if [ "$?" = "1" ]; thendeveria ser:
Código: [Selecionar]
if [ $? -eq 1 ]; thenisto porque $? é um numero e não uma string

Em relação ao seu problema, o nome do usuario é $USER em maiuscula, as variaveis são "case sensitive" .



Obrigado,

Ass. Leandro Miranda

Offline leandro.miranda

  • Usuário Ubuntu
  • *
  • Mensagens: 104
  • Vivendo, Aprendendo e Repassando!
    • Ver perfil
Re: ShellScript Duvida de como fazer uma instrução simples de achar a pasta pess
« Resposta #8 Online: 09 de Agosto de 2006, 08:25 »
Eu não sei como fazer isso, preciso fazer um espelho do repositorio na minha maquina e todas as outras baixam os pacotes apartir da minha maquina? é isso? VOcê tem alguma referencia onde eu possa ler e testar isso?

Leandro,
não entendo a lógica do script para o seu objectivo das actualizações.
As actualizações não sao para ocorrer em todos os sistemas ? É preciso os utilizadores responderem a algo ?

Se todos esses computadores estão em rede o mais fácil seria configurar um deles como servidor de APT.
Depois bastaria colocar uma entrada no /etc/apt/sources.list para esse servidor e dar um
Código: [Selecionar]
sudo apt-get update && sudo apt-get upgradeAinda que fizesse isso com botões ficara bem mais fácil do que andar a distribuir o ISO .
Não sei se o Kubuntu tem zenity, se tiver talvez seja uma melhor opção porque funcionaria em ambos os sistemas, tambem pode utilizar o xdialog, mas teria que ser instalado.

Obrigado,

Ass. Leandro Miranda

Offline leandro.miranda

  • Usuário Ubuntu
  • *
  • Mensagens: 104
  • Vivendo, Aprendendo e Repassando!
    • Ver perfil
Re: ShellScript Duvida de como fazer uma instrução simples de achar a pasta pess
« Resposta #9 Online: 09 de Agosto de 2006, 08:27 »
Amigão a parada o $USER funcionou aqui no KDE e no Gnome tambem! Muito Obrigado!

Não sei pra que serve, mas se fosse uma versão GNOME seria assim  utilizando zenity ;-)
o único erro realmente é a variável $USER que o colega acima citou, a outra "if [ "$?" = "1" ]; then" passou batido, só pra constar caso alguém deseje usar, logicamente tem que ter uma URL válida.
Código: [Selecionar]
# PERGUNTA SE QUER FAZER O DOWNLOAD SE A RESPOSTA FOR SIM ELE EXECUTA O XTERM COM O ARGUMENTO WGET
zenity --question --text="Deseja Fazer Download da imagem ISO com 700MB?" --title "Fazer Download Agora?";
if [ "$?" = "1" ]; then
exit 0
fi
xterm -e wget -P naUnha/CD-DVD/ -c http://localhost/unha-ubuntu6.06-0.01.iso;

#APOS FAZER O DOWNLOAD PERGUNTA SE VOCÊ DESEJA QUE SEJA ABERTO O GERENCIADOR DE ARQUIVO NO LOCAL QUE FOI SALVO A ISO!

zenity --question --text="Download Completo Realizado. Deseja Abrir a pasta que contem a Imagem ISO?";
if [ "$?" = "1" ]; then
exit 0
fi
nautilus /home/$USER/naUnha/CD-DVD/

Obrigado,

Ass. Leandro Miranda