Adicione meu próprio comando ao PATH

2

Eu obtive um arquivo executável ( edit_envir ) no diretório /home/pshizh/Desktop/ . Eu atualizei o arquivo /etc/environment para tornar /home/pshizh/Desktop incluído em PATH . Então eu executei o comando edit_envir no terminal, mas ele disse "dit_envir command not found . No entanto, depois que eu copiei o arquivo edit_envir para /usr/bin/ e executei o comando edit_envir no terminal novamente, funcionou. Por quê? Eu realmente aprecio sua ajuda.

    
por user210842 03.11.2013 / 13:28

2 respostas

0

Depois de editar o arquivo /etc/environment , se quiser que a alteração tenha efeito, é necessário efetuar logout e login novamente ou fazer o upload desse arquivo no terminal da seguinte forma:

source /etc/environment

De qualquer forma, este não é um método indicado para adicionar um diretório ao PATH. Veja o seguinte post neste sentido:

  • como adicionar um diretório ao PATH? >
por Radu Rădeanu 03.11.2013 / 13:47
2

Não edite o arquivo /etc/environment !!! reverter as alterações e colocá-las de volta como eram originalmente. Seu sistema deve funcionar com vários usuários. Imagine que você crie outro usuário, diga johndoe . Então o que vai acontecer quando ele entrar? ele terá, em sua variável PATH , seu diretório /home/pshizd/Desktop . Tenho certeza que ele não se importa com isso!

Em vez disso, modifique a variável PATH de seu próprio arquivo .bashrc : adicione este snippet no final do seu arquivo .bashrc :

PATH=/home/pshizd/Desktop:$PATH

Agora espere, seus próprios scripts não devem estar localizados em sua área de trabalho. Em vez disso, crie um diretório bin em seu diretório inicial, coloque seus scripts lá e, em vez do comando anterior em seu arquivo .bashrc , coloque isso:

PATH=$HOME/bin:$PATH

Se você modificar o arquivo .bashrc , as alterações só terão efeito em novos terminais.

Agora, se você quiser que este script esteja disponível para todos os usuários (por exemplo, você vai querer que johndoe seja capaz de executá-lo, mas ele não deve ter acesso ao seu diretório pessoal), o melhor lugar é coloque o script em /usr/local/bin . Esse diretório já deve existir (crie-o, se necessário) e já deve estar em todos os usuários PATH . Verifique isso inspecionando o arquivo /etc/profile (mas não modifique este arquivo!); você também pode grep PATH , assim (com algumas linhas contextuais):

grep -C4 PATH /etc/profile

você deve ver que /usr/local/bin é adicionado ao usuário PATH .

A propósito, não coloque seus próprios comandos em /usr/bin ! Este lugar é para os binários da sua distribuição, não os seus pessoais.

Com relação a por que não funcionou depois de modificar /etc/environment : você precisa abrir um novo terminal para que as alterações entrem em vigor.

    
por gniourf_gniourf 03.11.2013 / 13:34