2015-11-18 6 views
0

Я использую Arch Linux с MATE в качестве среды рабочего стола. Таким образом, эмулятор терминала - это терминал MATE. Недавно я установил Jekyll с gem install jekyll. Но когда я побежал jekyll -v, он сказал bash: jekyll: command not found. Поэтому я попытался добавить путь Jekyll к переменной PATH.Archlinux + MATE Terminal - `.bash_profile` не является источником

Я бежал PATH=$PATH/$HOME/.gem/ruby/2.2.0/bin, и он отлично работал. Теперь я могу запускать команды jekyll. Чтобы добавить его постоянно в переменную PATH, я редактировал файл ~/.bash_profile, как показано ниже. Он не работает после перезагрузки. Но source ~/.bash_profile работает отлично.

# 
# ~/.bash_profile 
# 

[[ -f ~/.bashrc ]] && . ~/.bashrc 

export PATH="${PATH}:/home/heisenberg/.gem/ruby/2.2.0/bin" 

Согласно ArchWiki это правильный способ Concat что-то в них постоянно PATH. Но он не работает. Может кто-нибудь понять меня, где не так?

[N. B.:. Добавление той же линии в ~/.bashrc делает хорошо]

+0

Каков вывод 'echo '$ PATH ===" '? – chepner

+0

@chepner, '/ usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl === ' – taufique

+0

Как вы входите в/bash, когда это не работает? –

ответ

0

В зависимости от варианта его данным, bash может работать как интерактивная оболочка или оболочку входа. По умолчанию интерактивная оболочка режим не читается ~/.bash_profile. login shell bash do.

См:

Во-первых, некоторые настройки:

% cat ~/.bashrc 
… 
export BASHRC="yes" 
… 
% cat ~/.bash_profile 
… 
export BASH_PROFILE="yes" 
… 

Теперь запустить регулярный (интерактивный) Баш:

% bash 
[[email protected] ~]$ echo $BASHRC 
yes 
[[email protected] ~]$ echo $BASH_PROFILE 

Обратите внимание, что мы сделали не получить yes с этим последний.

Теперь с входа оболочки:

% bash --login 
[[email protected] ~]$ echo $BASHRC 
yes 
[[email protected] ~]$ echo $BASH_PROFILE 
yes 

См пункт Призыва от man bash.

 Смежные вопросы

  • Нет связанных вопросов^_^