Programação de bash. A diferença entre clicar duas vezes em um programa e executar o programa no console

0

Eu escrevi um script chamado vpn.sh.O conteúdo é o seguinte:

#!/bin/sh

cd /etc/openvpn

sudo openvpn client.ovpn &

quando estou no konsole, o ./vpn.sh funciona bem. Mas quando clico duas vezes no arquivo vpn.sh, ele não tem resposta. Alguém pode me dizer a diferença entre os dois métodos acima?

    
por FunkyBaby 21.07.2011 / 06:21

3 respostas

1

Eu diria que usar sudo funciona na linha de comando (pois permite digitar uma senha na linha de comando) , mas provavelmente não funcionará em um ambiente gráfico. / p>

Em tal situação, você deve usar gksudo ou kdesudo , dependendo do ambiente de área de trabalho que você está usando - veja Sudo gráfico para mais informações.

    
por 21.07.2011 / 06:26
1

Parece que o que você está usando como navegador de arquivos não está configurado para executar arquivos .sh como scripts de shell. Quando você está em um terminal e digita ./vpn.sh, ele executa o arquivo como um script de shell no terminal. Quando você tenta executar a mesma ação clicando duas vezes no arquivo, seu navegador de arquivos não está configurado para manipular o script da mesma maneira e não fará nada.

    
por 21.07.2011 / 06:26
0

você está executando como administrador / root quando clica duas vezes?

quando você o executa do console, você usou sudo e isso significa que você está executando o arquivo como admin / root

    
por 21.07.2011 / 06:24

Tags