Adicionar programa ao caminho permanentemente no Ubuntu 14.04

Adicionar programa ao caminho permanentemente no Ubuntu 14.04

Estou tentando resolver “como adicionar caminho permanentemente” usando o Ubuntu 14.04. Se eu tivesse um programa dizendo samtools-1.2que gostaria de adicionar ao caminho, acho que faria:

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

Então para verificar:

cat ~/.bashrc

Responder1

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

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

Depois você desejará executar source /etc/profilevia linha de comando.

Nota: export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2falta uma barra após o :caractere.

Responder2

Resposta mais curta.

Então você tem 100% de certeza de que sabe o que está fazendo aqui, mesmo que o comando funcione? Porque, a meu ver, adicionar um diretório na área de trabalho do usuáriopermanentementepara o sistema PATH parece um pouco estranho para mim. Coisas como essa devem ser instaladas apenas como uma instalação em todo o sistema, sudo make installapós a compilação do código-fonte.

Dito isso, aqui está meu resumo sobre o que você está tentando fazer, por que não está funcionando, o que pode ser feito para remediar e, além disso - como acabei de dizer - por que isso não é uma boa ideia.

Resposta mais longa.

Primeiro, este comando não fará nada:

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

Ele mistura alguns conceitos incorretamente.

  • Primeiro, se você iniciar o comando com export PATH=e tudo o que fará é atribuir um novo PATHvalor.
  • A seguir, o caminho que você está adicionando está incorreto: home/cmccabe/Desktop/NGS/samtools-1.2. Na verdade, deveria ser /home/cmccabe/Desktop/NGS/samtools-1.2; observe a barra inicial na frente desse caminho.
  • Finalmente, >> .bashrcestá um tanto correto, mas o que acontece antes é tão incorreto que não importa. Diz >>ao Bash para anexar o que o precedeu .bashrc. E como o primeiro comando é export PATH=, isso não produz nada. Então, tudo o que é anexado .bashrcé uma linha vazia. E .bashrcdeve ser o diretório inicial do seu usuário, então certifique-se de acrescentar o prefixo ~/ao nome assim: ~/.bashrc.

Orealcomando se é isso que você queria que o comando fosse algo assim; mas por favor não execute:

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

A chave aqui é echoimprimir apenas o que vem a seguir - sem agir de acordo - em .bashrc. E então você executaria source ~/.bashrce, se executar, echo $PATHtudo estaria pronto.

Dito isso, não parece uma boa ideia.

Este é o seu sistema, então faça o que desejar. Mas olhando para o quesamtools-1.2isto é, isso é apenas o código-fonte do programa. Se você compilou entãotalvezessa configuração PATH /home/cmccabe/Desktop/NGS/samtools-1.2faria sentido. Mas mesmo assim a melhor maneira de lidar com binários é realmente instalá-los no sistema através sudo make installdo qual colocaria todos os arquivos relacionados nos lugares corretos e então apenas instalar o samtoolsbinário no /usr/local/binqualdevejá faça parte do seu PATH.

Dito isso, se você simplesmente fez uma compilação básica samtools-1.2e quis testá-lo, faz sentido configurá-lo para apontar para um diretório na área de trabalho do usuário. Mas além de tudo isso, sua pergunta é sobrepermanentementeadicionando um programa ao seu caminho. E nesse caso eu farianunca recomendovocê já adicionou permanentemente um diretório na área de trabalho de um usuário ao seu PATH. O risco de perder algo que está na sua área de trabalho é muito grande.

informação relacionada