Pular para o conteúdo

Colocar diretório atual (corrent) no PATH

Dica publicada em Linux / Comandos
Perfil removido removido
Hits: 19.654 Categoria: Linux Subcategoria: Comandos
  • Indicar
  • Impressora
  • Denunciar

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
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.

SoftMaker - Uma boa suíte office

Instalando Google Chrome , Skype e Spotify no Mageia 6

Ubuntu Feisty Fawn - Cannot Eject Volume

Automatizar tarefas com o JAVclocker

Firefox 3.5.x: Corrigir sites deslogando sozinhos

Comando "less" Colorido no Shell

Como remover permissão de vários arquivos

Executa Comandos Linux

Criando pastas em massa rapidamente no Linux

Três Formas Fáceis de usar Super Usuário pelo Terminal no Linux

#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.