Disponibilizar o WGET sem caminho

2

Eu tenho o script bash pronto, que usa extensivamente o comando wget . Infelizmente, wget não está disponível no caminho padrão, mas está disponível em:

/usr/custom/bin/wget

Consegui torná-lo utilizável sem caminho no console bash, introduzindo um alias:

alias wget="/usr/custom/bin/wget"

Ainda não é visto no script bash:

./deploy.sh: line 312: wget: command not found

Como faço as coisas funcionarem sem reescrever o próprio script?

P.S. ~/.bashrc está disponível para edição na caixa, por isso ficarei feliz em persistir essas alterações.

    
por user1065145 11.11.2014 / 12:51

4 respostas

3

Adicione ao seu PATH em .bash_profile ou .bashrc :

export PATH=$PATH:/usr/custom/bin

Isso se você quiser apenas para um usuário específico, se você quiser para todos os usuários, você pode adicionar o caminho wget a /etc/environment .

    
por 11.11.2014 / 12:54
3

Isso ocorre porque o shell não suporta seus aliases de env por padrão.

Existem duas maneiras de resolver esse problema:

  1. use #!/bin/bash -i (no caso de bash)

  2. adicione seu /usr/custom/bin/ ao PATH

por 11.11.2014 / 12:55
2

Você pode chamar seu script assim:

PATH=$PATH:/usr/custom/bin/ ./deploy.sh

Com isso, seu PATH só é alterado durante o processo de execução do seu script.

    
por 11.11.2014 / 12:57
1

Você deve apenas estender seu PATH no script. Dessa forma, outros comandos nesse diretório não atrapalham seu uso normal do bash, e você não precisa redigitá-lo a cada invocação

#!/bin/bash 

PATH=$PATH:/usr/custom/bin/

<rest of your script>
    
por 11.11.2014 / 13:10