Primeiramente, vamos a alguns conceitos básicos que você precisa saber:
Variável: é um endereço de memória, usada em programação, ou seja, armazena dados diferentes, por isso o nome variável.
Analogia: é como se fosse uma gaveta de um grande armário, nela você pode armazenar papéis, sapatos, o que você quiser e por isso você pode chamá-la de variável, pois varia seu conteúdo, ela (gaveta) aceita qualquer coisa, papéis ou sapatos.
No Linux, em shell script, PHP e outras linguagens, a variável é representada por cifrão $, como vemos em $PATH, seria assim:
$nome_da_variavel
echo: comando em programação para exibir o conteúdo de uma variável. Estude programação!
$PATH: é uma variável do sistema Linux que indica trajetória (tradução do inglês) dos binários (executáveis dos programas), que podem ser executados sem indicar o caminho completo (geralmente ele é muito longo) da onde eles estão.
Vamos para prática agora!
No console, digite:
$ echo $PATH
Irá aparecer algo assim:
PATH=/usr/local/sbin:/usr/local/bin:/sbin/bin
(O que aparece no resultado pode variar de sistema para sistema)
Exemplificando:
Quando você roda o XMMS no console, digita-se apenas "xmms", isto
quer dizer que o binário dele já está direcionado no resultado do
PATH acima.
Para ficar mais claro:
O binário do XMMS está em /usr/local/bin (a título de exemplo só, ele pode estar em outro diretório).
Dúvida que pode aparecer:
Instalei um novo programa, o openoffice por exemplo, como faço para que o executável soffice já abra só digitando somente "soffice" no console?
R: Simples, você terá que acrescentar o caminho do diretório do executável no PATH. Localize qual diretório está o soffice e exporte-o para o $PATH.
(só que quando reiniciar a máquina o caminho acrescentado some)
Solução para que fique permanente:
Edite o arquivo /etc/profile e acrescente na linha do PATH o caminho do diretório do openoffice, por exemplo, como foi explicado acima.
Sem você acrescentar a trajetória ao $PATH, você teria que entrar no diretório do openoffice para executá-lo. Já pensou se você tiver que fazer isso toda vez em que usa openoffice? Seria um SACO! :P
[1] Comentário enviado por engos em 06/09/2004 - 11:25h
Gostei da idéia de explicar sobre o $PATH, mas queria fazer as seguintes observações:
O comando echo é para mostrar uma linha de texto e não um comando em programação para exibir o conteúdo de uma variável. Sendo assim se você digitar no console "Viva o Linux" ele vai dar erro, mas se você digitar echo "Viva o Linux" não vai, sendo que não usei nenhuma variável e ele me mostrou "Viva o Linux" (sem aspas). Isso é muito util em shellscript, mas isso é outro papo...
Para alguém que não sabia sobre o $PATH, é importante ressaltar que ao inserir a linha do "export PATH=$PATH:/caminho" no /etc/profile, isso deve ser feito no fim do arquivo, pois a pessoa pode colocar no começo e perder esse valor, dependendo de como está o arquivo /etc/profile.
Você já deve saber disso, mas provavelmente nem todos que vão ler o artigo sabem.
Esse deve ser seu primeiro artigo, não? Bem, de qualquer forma, tenta dividir melhor o artigo, tudo numa página só fica um pouco bagunçado (na minha opnião).
[2] Comentário enviado por leonardoamorim em 06/09/2004 - 13:41h
Primeiramente muito obrigado pela crítica, com ela podemos desenvolver sempre um conteúdo melhor. Pelo que você podê perceber, o artigo que escrevi é introduzido com alguns conceitos em computação.
O comando echo no linux é diferente do echo de programação sim, você está correto. Mas sempre faço analogias, e a função do echo tanto na programação como no linux é exibir algo, que esteja ou não em uma varíavel.
Com o artigo, eu tento trazer o leitor para outros mundos, como o da programação e conceitos que talvez ele não saiba, acho que isso é uma forma de trazer a atenção do leitor que gosta de tudo explicado nos mínimos detalhes.
Ah gostei da sugestão de colocar mais páginas, concordo com você, da próxima vez vou dividir melhor o conteúdo.
[4] Comentário enviado por daniel_caldas em 12/12/2006 - 22:27h
Bom Artigo !
Foi de grande importancia pra meu conhecimento, pois exitem situações onde vc está seguindo os passos de um artigo de instalção/configuração e fica empacado nesses tipo de configuração !
[6] Comentário enviado por rogeriojlle em 30/04/2007 - 08:32h
"Para alguém que não sabia sobre o $PATH, é importante ressaltar que ao inserir a linha do "export PATH=$PATH:/caminho" no /etc/profile, isso deve ser feito no fim do arquivo, pois a pessoa pode colocar no começo e perder esse valor, dependendo de como está o arquivo /etc/profile"
Só dando a dica que para colocar um termo no final de algum arquivo, basta acrescentar ">> caminho_do_arquivo" no final do comando ex:
eu@computador:~$echo 'oi tudo bem?' > teste.txt
isso cria o arquivo "teste.txt" na minha pasta com o texto "oi tudo bem?"
eu@computador:~$echo 'eu vou bem e você?' >> teste.txt
isso acrescenta no final do arquivo o termo "eu vou bem e você?"
lembrando que se você usar ">" em vez de ">>" num arquivo que já tenha conteúdo, você SUBSTITUI o conteúdo do arquivo pelo que etiver na saída do comando
Agora a minha dúvida: sou usuário do Ubuntu, e até agora não precisei fazer tais alterações no "PATH", até porque eu só uso programas básicos de um usuário comum, mas se eu precisasse onde estaria o meu arquivo equivalente ao "etc/profile"? (Ubuntu Feisty)
Abri esse arquivo e encontrei um script estranho que não entendi nada.
[7] Comentário enviado por carlosmacapuna em 27/06/2007 - 08:47h
Bom dia.
Acho que talvez voces possam me ajudar.
NS-2
Eu estou a alguns dias tentando instalar o NS-2 (network simulator) em casa (sem internet, baixo no trabalho os pacotes e levo pra casa). Bom, depois de varios erros, consegui instalar, mas quando digito ns no console, nao funciona...
Verfiquei a saida de instação e percebi que o problema é justamente com PATH.
olhem a saida:
Please put /home/macapuna/ns2/ns-allinone-2.31/bin:/home/macapuna/ns2/ns-allinone-2.31/tcl8.4.14/unix:/home/macapuna/ns2/ns-allinone-2.31/tk8.4.14/unix
into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph.
IMPORTANT NOTICES:
(1) You MUST put /home/macapuna/ns2/ns-allinone-2.31/otcl-1.13, /home/macapuna/ns2/ns-allinone-2.31/lib,
into your LD_LIBRARY_PATH environment variable.
If it complains about X libraries, add path to your X libraries
into LD_LIBRARY_PATH.
If you are using csh, you can set it like:
setenv LD_LIBRARY_PATH <paths>
If you are using sh, you can set it like:
export LD_LIBRARY_PATH=<paths>
(2) You MUST put /home/macapuna/ns2/ns-allinone-2.31/tcl8.4.14/library into your TCL_LIBRARY environmental
variable. Otherwise ns/nam will complain during startup.
[8] Comentário enviado por leonardo_lage em 02/08/2007 - 17:13h
Olá Carlos:
Eu também estou começando a utilizar o NS agora...
Mas pelo que me parece o seu problema é exatamente o descrito neste artigo. vc precisa dar o comando:
"export PATH=$PATH:/caminho para o bin dentro da instalação do ns"
para que o linux interprete corretamente onde será executado o ns.
Tentei fazer o barato do "/etc/profile" para gravar o PATH para o ns mas ele não funcionou...
Então, toda vez que abro um console para mexer no NS dou o comando para validar o caminho para o executavel do ns.
Agora que achei este tutorial do Leonardo Afonso, vou ver se consigo... devia estar fazendo algo errado...
Espero que esta dica ajude.
Obrigado pela dica Leonardo Afonso...
[]s,
Leonardo Lage.
[9] Comentário enviado por removido em 17/08/2007 - 05:38h
Desculpem!
Não resolveria mover o executável do programa para um dos diretórios do PATH... tipo /usr/local/bin ou mesmo um script que executasse por exemplo o bin /home/macapuna/ns2/ns-allinone-2.31/otcl-1.13
de um desses arquivos???