Pular para o conteúdo

Colocar diretório atual (corrent) no PATH

Dica publicada em Linux / Comandos
Perfil removido removido
Hits: 19.649 Categoria: Linux Subcategoria: Comandos
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Colocar diretório atual (corrent) no PATH

Uma dica bem rápida, porém muito útil. Descobri faz pouco tempo e acredito que muitos nem pensaram nisso.

O Linux, por padrão, não pesquisa um comando na pasta atual.

Vamos supor que você aplique o seguinte comando:

cd /media/CDROM/binaries

Você mudou o diretório atual do terminal para uma pasta que contém muitos binários e executáveis. Mas tem um binário que você quer executar, chamado "doom".

Vamos tentar executá-lo:

doom

Não deu certo porque a pasta "/media/CDROM/binaries" não está dentro da variável "$PATH", mesmo sendo o seu diretório de atuação. Isso é um problema que até nos acostumamos, mas que é chato é.

Então, como fazer para que eu possa executar coisas do diretório atual?

Resposta: simples, coloque o diretório atual na variável 'PATH'.

É só fazer o seguinte, adicione o seguinte diretório, separado por um ponto e vírgula:

./

Esse ponto e barra significam o diretório atual.

Por exemplo, meu diretório atual era:

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/lucas/bin

E ficou assim (notem o "./" no final):

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/lucas/bin:./

Linux: Colocar diretório atual (corrent) no PATH
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
Notas:

1. Se quiser salvar as alterações, copie o 'PATH' para o arquivo "~/.bashrc". Acrescentando (ou modificando) a linha:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/lucas/bin:./

2. Só serão procurados arquivos com propriedades de execução, ou seja, se você aplicar "cd" numa pasta de imagens e tentar "executar" alguma delas, não vai dar certo.

3. A ferramenta de alto completação, como o TAB, funciona para o diretório atual assim como para todos os diretórios do "$PATH".

4. Faça isso sempre que instalar uma distro Linux. É uma dica que DEVE ficar guardada bem no seu coração.

5. Jogue doom.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Instalando Google Chrome no Debian 13

Impressora Canon Pixma IP1800 no Linux

Email POP: endereços de alguns servidores

LightDM - Como exibir imagem de usuário na tela de login do Debian 8.7.1 (MATE)

Wireless conecta, mas não navega no Ubuntu

Inserindo data e hora no comando history

O comando chage

Instalação Nvidia Optimus no Debian Jessie

Bordas das janelas sumindo quando se habilita o compiz-fusion no Linux?

Redirecionamento de portas IPtables

#1 Comentário enviado por removido em 27/11/2011 - 12:53h
Só um detalhe que esqueci de mencionar:
o bash procura primeiro um comando na ordem das pastas que estão em $PATH

ou seja, se você colocar o ./ no início do $PATH ele vai procurar primeiro um comando na pasta atual.
agora, se o ./ tiver lá no finalzinho o $PATH, o comando será procurado na pasta atual por último, esse é o recomendado para não ter problemas com comandos com nomes iguais
#2 Comentário enviado por hwarang em 28/11/2011 - 08:25h
O Linux não coloca o diretório corrente no PATH por padrão por problemas de segurança:
http://www.faqs.org/docs/Linux-mini/Path.html#s12

Portanto, caso você faça isso, lembre-se que esta assumindo um risco.

Minha dica é:
Não custa nada colocar um './' antes do comando quando se quer explicitamente rodá-lo do diretório corrente.
./doom

Contribuir com comentário

Entre na sua conta para comentar.