
Я пытаюсь решить «как добавить путь навсегда» с помощью Ubuntu 14.04. Если бы у меня была программа, которая сказала бы, samtools-1.2
что я хочу добавить в путь, я думаю, я бы сделал:
export PATH=$PATH:home/cmccabe/Desktop/NGS/samtools-1.2 >> .bashrc
Затем для проверки:
cat ~/.bashrc
решение1
Для этого вам нужно будет создать новый файл /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
после символа отсутствует косая черта :
.
решение2
Более короткий ответ.
Так вы на 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
в некоторой степени правильно, но то, что происходит перед ним, настолько неправильно, что это не имеет значения. The>>
сообщает Bash о необходимости добавить то, что предшествовало ему, к.bashrc
. И поскольку первая команда —export PATH=
, она ничего не выводит. Поэтому все, что добавляется к ,.bashrc
— это пустая строка. А.bashrc
домашним каталогом вашего пользователя должен быть домашний каталог, поэтому обязательно добавьте ,~/
например, к имени:~/.bashrc
.
Theнастоящийкоманда, если это то, что вы хотели, команда будет выглядеть примерно так; но, пожалуйста, не запускайте ее:
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. Риск потерять что-то, находящееся на рабочем столе, слишком велик.