Colocar diretório atual (corrent) no PATH

Publicado por Perfil removido em 27/11/2011

[ Hits: 18.745 ]

 


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.

Outras dicas deste autor

pbpaste e pbcopy no Linux

Slackware "Debiano"

Descompactando arquivos KDE sem complicação

Debian Squeeze - Instalando driver Broadcom wl.ko

Instalando Google Chrome e Skype no Debian 9 Stretch

Leitura recomendada

Como recortar um vídeo via linha de comando

Manipulação de fitas com MT

Substituindo ocorrências de palavras dentro de um arquivo

Converter imagem para base64 via shell

Shutdown liberado para usuários comuns (Slackware)

  

Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts