Adiciona o programa ao caminho permanentemente no Ubuntu 14.04 [closed]

0

Eu estou tentando resolver "como adicionar caminho permanentemente" usando o Ubuntu 14.04. Se eu tivesse um programa, digamos samtools-1.2 que queria adicionar ao caminho que eu gostaria de fazer:

export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2 >> .bashrc

Em seguida, verifique:

cat ~/.bashrc
    
por cm0728 29.09.2015 / 19:27

2 respostas

0

Para fazer isso, você desejará criar um novo arquivo em /etc/profiles.d/ com o nome que quiser, mas certificando-se de que ele termine com .sh , por exemplo ... samtools.sh , e dentro do arquivo coloque o seguinte:

#!/bin/sh
export PATH=$PATH:/home/cmccabe/Desktop/NGS/samtools-1.2

Depois, você desejará executar source /etc/profile via linha de comando.

Nota: export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2 está sem barra depois do caractere : .

    
por 29.09.2015 / 19:48
0

Resposta mais curta.

Você tem 100% de certeza de que sabe o que está fazendo aqui mesmo que o comando funcione? Porque, aos meus olhos, adicionar um diretório na área de trabalho do usuário permanentemente ao PATH do sistema parece um pouco difícil para mim. Coisas como essa devem ser instaladas apenas como uma instalação de todo o sistema usando sudo make install depois que o código-fonte é compilado.

Dito isso, aqui está meu desdobramento sobre o que você está tentando fazer, porque não está funcionando, o que pode ser feito para remediá-lo e depois - como acabo de dizer - por que não é uma ótima idéia.

Resposta mais longa.

Primeiro, esse comando não fará nada:

export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2 >> .bashrc

Ele mescla alguns conceitos incorretamente.

  • Primeiro, se você iniciar o comando com export PATH= e tudo o que fará será atribuir um novo valor PATH .
  • Em seguida, o caminho que você está adicionando está incorreto: home/cmccabe/Desktop/NGS/samtools-1.2 . Se alguma coisa deve ser /home/cmccabe/Desktop/NGS/samtools-1.2 ; observe a barra principal na frente desse caminho.
  • Finalmente, o >> .bashrc está um pouco correto, mas o que acontece antes é tão incorreto que não importa. O >> diz ao Bash para anexar o que o precedeu a .bashrc . E como o primeiro comando é export PATH= , isso não resulta em nada. Então tudo o que é adicionado ao .bashrc é uma linha vazia. E o .bashrc deve ser o diretório inicial do seu usuário, então, adicione o ~/ ao nome da seguinte forma: ~/.bashrc .

O comando real se isto é o que você queria que o comando fosse seria algo assim; mas por favor não execute:

echo export PATH=$PATH:/home/cmccabe/Desktop/NGS/samtools-1.2 >> ~/.bashrc

A chave aqui é echo , que seria apenas imprimir o que segue - sem agir sobre ela - em .bashrc . E então você executaria source ~/.bashrc e se você executasse um echo $PATH , tudo deveria ser definido.

Tudo o que disse, isso não parece uma ótima idéia.

Este é o seu sistema, faça o que quiser. Mas olhar para o que é samtools-1.2 é apenas o código-fonte do programa. Se você compilou então talvez essa configuração PATH de /home/cmccabe/Desktop/NGS/samtools-1.2 faria sentido. Mas, mesmo assim, a melhor maneira de lidar com binários é instalá-los no sistema via sudo make install , o que colocaria todos os arquivos relacionados nos locais corretos e depois instalaria o samtools binário em /usr/local/bin que deveria já faz parte do seu PATH.

Dito isso, se você simplesmente fez uma compilação básica de samtools-1.2 e quis testá-la, configurá-la para apontar para um diretório na área de trabalho do usuário faz sentido. Mas além disso, sua pergunta é sobre permanentemente adicionar um programa ao seu caminho. E, nesse caso, eu nunca recomendaria que você sempre adicionasse permanentemente um diretório na área de trabalho de um usuário ao seu PATH. O risco de perder algo na sua área de trabalho é muito grande.

    
por 29.09.2015 / 19:49