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