[Ubuntu-BR] Execução de um script em /usr/local/share

Luciano de Souza luchyanus em gmail.com
Domingo Novembro 13 18:45:30 UTC 2011


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
>





More information about the ubuntu-br mailing list