Bash, sempre verifique $ PWD como parte do caminho?

14

Histórico: Um dos meus colegas que não é de Linux me perguntou sobre usar ./ antes de alguns comandos e não de outros, então expliquei a ele como PATH funciona e como os binários são escolhidos para serem executados . Sua resposta foi que era burro e ele só não precisava digitar ./ antes dos comandos.

Pergunta: Existe uma maneira de modificar facilmente o comportamento do shell, de modo que $PWD seja sempre o primeiro item em PATH ?

    
por Christophe 26.10.2017 / 11:46

3 respostas

54

Se você realmente quiser, pode fazer isso adicionando . ao seu caminho:

export PATH=".:$PATH"

No entanto, isso é uma má ideia, porque significa que seu shell selecionará qualquer comando no diretório atual em detrimento de outros. Se alguém (ou algum programa) ignorar um comando ls malicioso em um diretório usado com frequência, você terá problemas ...

    
por 26.10.2017 / 11:50
13

Embora essa não seja uma resposta direta à sua pergunta, a prática recomendada seria criar um diretório bin em seu diretório pessoal como /home/user/bin :

mkdir -p "$HOME/bin"
echo 'PATH="$HOME/bin:$PATH"' >> "$HOME/.bashrc"
source "$HOME/.bashrc"

Tenha seus scripts pessoais colocados lá. O PATH seria percorrido na ordem que você definir e executar seus scripts pessoais sem o . necessário.

    
por 26.10.2017 / 12:10
0

Você precisa ter o. no começo de sua variável PATH:

export PATH=".:$PATH"
    
por 26.10.2017 / 11:48