Я пытаюсь решить, «как добавить путь навсегда», используя Ubuntu 14.04. Если бы у меня была программа, скажем, samtools-1.2 которую я хотел бы добавить к пути, думаю, я бы сделал:

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

Затем проверить:

cat ~/.bashrc

2 ответа2

0

Для этого вам нужно создать новый файл в /etc/profiles.d/ имя которого вы когда-либо захотите, но убедитесь, что оно заканчивается на .sh например ... samtools.sh затем внутри файла поместите следующее:

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

После этого вы захотите запустить source /etc/profile из командной строки.

Примечание: export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2 пропускает косую черту после символа :

0

Короче ответ.

Так вы на 100% уверены, что знаете, что делаете здесь, даже если команда работает? Потому что на моих глазах, добавив каталог на рабочем столе пользователя постоянно к системной переменной PATH , кажется , немного не ко мне. Подобные вещи должны быть установлены как общесистемные установки с помощью sudo make install после компиляции исходного кода.

Тем не менее, вот мое изложение того, что вы пытаетесь сделать, почему это не работает, что можно сделать, чтобы исправить это, и преодолеть это - как я только что сказал - почему это не очень хорошая идея.

Более длинный ответ.

Во-первых, эта команда ничего не сделает:

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

Это неправильно смешивает несколько понятий.

  • Во-первых, если вы запустите команду с export PATH= и все, что вам нужно сделать, это присвоить новое значение PATH .
  • Далее, вы добавляете неправильный путь: home/cmccabe/Desktop/NGS/samtools-1.2 . Во всяком случае это должно быть /home/cmccabe/Desktop/NGS/samtools-1.2 ; обратите внимание на косую черту перед этим путем.
  • Наконец, >> .bashrc несколько корректен, но то, что происходит до того, как он настолько неверен, не имеет значения. >> указывает Bash добавить то, что предшествовало этому .bashrc . А так как первая команда - export PATH= , она ничего не выводит. Так что все, что добавляется в .bashrc - это пустая строка. И .bashrc должен быть домашним каталогом вашего пользователя, поэтому обязательно добавьте ~/ к имени, например: ~/.bashrc .

Настоящая команда, если вы хотите, чтобы команда была такой, была бы такой: но, пожалуйста, не запускайте его:

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

Ключевым моментом здесь является echo которое просто выводит все, что следует за ним, не воздействуя на него, в .bashrc И тогда вы запустите source ~/.bashrc и если вы запустите echo $PATH все будет готово.

Все это говорит, это не кажется отличной идеей.

Это ваша система, так что делайте с ней как хотите. Но если посмотреть на то, что такое samtools-1.2 , это просто исходный код программы. Если вы скомпилировали его, то, возможно , будет иметь смысл установка PATH в /home/cmccabe/Desktop/NGS/samtools-1.2 . Но даже тогда лучший способ справиться с двоичными файлами - это фактически установить их в систему с помощью sudo make install которая поместит все связанные файлы в правильные места, а затем просто установить двоичный файл samtools в /usr/local/bin который уже должен быть часть вашего ПУТИ.

Тем не менее, если вы просто выполнили базовую компиляцию samtools-1.2 и захотели протестировать ее, то имеет смысл установить ее так, чтобы она указывала на каталог на рабочем столе вашего пользователя. Но после всего этого ваш вопрос о постоянном добавлении программы на ваш путь. И в этом случае я бы никогда не рекомендовал вам постоянно добавлять каталог на рабочем столе пользователя в вашу PATH. Риск потерять что-то на рабочем столе слишком велик.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .