Observe que coisa estranha:

/usr/bin/env lua #O interpretador abre
cd /home/luciano/fontes/lacuna
lua lacuna.lua #O script roda
chmod +x lacuna.lua
./lacuna.lua #Arquivo ou diretório não encontrado

Substituí o conteúdo do script por apenas o seguinte:

#!/usr/bin/env lua

print('Teste')

Faço:
lua lacuna.lua
E recebo:"teste". Muito bom. Isto está certo.

Contudo, este mesmo script, rodado como "./lacuna.lua", não funciona e, pelos passos que descrevi, é realmente extraordinário, misterioso que não tenha funcionado!

Agora, vamos aos comandos que me enviou:
Se faço, $PATH, obtenho um conjunto de diretórios.

Se faço:
PATH=$PATH:/usr/local/share/Lacuna
export PATH

Não obtenho nenhum erro, mas se volto a fazer:

./lacuna
Arquivo ou diretório não encontrado

Quando fiz "$PATH", além do conjunto de diretórios, pareceu-me que uma mensagem de erro foi emitida. Algo na linha do arquivo ou diretório não encontrado. Queria copiar o conteúdo da saída e enviar-lhe, mas não consegui.

Se faço: $PATH > output, diz que não tenho permissão. Se faço sudo $PATH > output, além de não colocar o resultado da variável no arquivo, o próprio conteúdo da variável foi esvaziado. Confesso que reiniciei o computador com bastante receio. Se $PATH não continha nada, então, talvez eu tivesse um travamento absoluto. Mas nada disso sucedeu. O ubuntu reconstituiu o seu conteúdo. NO entanto, continuei a não poder copiar o conteúdo da variável.

Seria importante que conseguisse copiar este conteúdo, pois sou cego, então, não posso valer-me de papel e caneta para copiar a mensagem e escrevê-la aqui.

Bom, de qualquer modo, fiquei com a impressão de que há algo errado com $PATH.

A hipótese de que eu estivesse a digitar algum comando equivocado, considerando que sou cego, era bem de se considerar. NO entanto, excluo esta alternativa, visto que, pressionando tab, o Bash completa tudo para mim.

Veja que coisa extraordinária. Digito: "./lac". Pressiono tab. "./lacuna.lua". Muito bom. Ele encontrou o arquivo. Agora, pressiono "enter. "Arquivo ou diretório não encontrado". Dá para entender algo assim?

Em 13-11-2011 14:59, Ataias Pereira Reis escreveu:
Bem, não sei como criar arquivos .deb para isso. Mas acho mais simples modificar o .bashrc. Você pode fazer um comentário nas linhas que você colocar, deixando-as bem distinguíveis e depois, se precisar, retire-as. O .bashrc é executado quando você loga no sistema se não me engano. Aí você garante que o caminho para seu script estará sendo procurado modificando o path.

Nessa parte que você falou:
Se, tendo incluído como linha inicial "#!/usr/bin/env lua", chamo ./lacuna.lua ele diz que o arquivo não foi encontrado.

Estou estranhando essa parte que você disse que com a linha "#!/usr/bin/env lua" no seu programa ocorrem erros dizendo arquivo não encontrado quando você tenta ./lacuna.lua . Tem certeza que estava na pasta correta quando chamou? Ou que o nome estava exato? Eu nunca tentei com esse tal de lua, só com python e shell, que adiciono uma linha semelhante no topo do arquivo. Eu tentei conseguir o erro de arquivo não encontrado, ele só ocorre quando de fato o arquivo não existia aqui. Um outro erro, só que de "comando não encontrado", eu consegui digitando "programa" ao invés de "./programa". Isso eu corrigi aqui colocando a pasta na qual o comando estava no path.

Naquele comando que te passei, conferiu se o caminho que ia ser adiciona no path estava correto? E tentou executar o programa no mesmo terminal no qual modificou o path?

Abraço
--
Ataias Pereira Reis



--
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece

Lista de discussão Ubuntu Brasil
Histórico, descadastramento e outras opções:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

Responder a