
Estou tentando resolver “como adicionar caminho permanentemente” usando o Ubuntu 14.04. Se eu tivesse um programa dizendo samtools-1.2
que 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, .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
falta 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 install
apó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 novoPATH
valor. - 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,
>> .bashrc
está 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.bashrc
deve 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 é echo
imprimir apenas o que vem a seguir - sem agir de acordo - em .bashrc
. E então você executaria source ~/.bashrc
e, se executar, echo $PATH
tudo 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.2
isto é, isso é apenas o código-fonte do programa. Se você compilou entãotalvezessa configuração PATH /home/cmccabe/Desktop/NGS/samtools-1.2
faria sentido. Mas mesmo assim a melhor maneira de lidar com binários é realmente instalá-los no sistema através sudo make install
do qual colocaria todos os arquivos relacionados nos lugares corretos e então apenas instalar o samtools
binário no /usr/local/bin
qualdevejá faça parte do seu PATH.
Dito isso, se você simplesmente fez uma compilação básica samtools-1.2
e 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.