我使用的是带有MATE的Arch Linux作为桌面环境。所以终端模拟器就是MATE终端。最近我安装了带有gem install jekyll
的Jekyll。但当我运行jekyll -v
时,它显示bash: jekyll: command not found
。所以我尝试将Jekyll的路径添加到path变量中。
我运行了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的说法,这是将某些内容永久连接到PATH的正确方式。但它不起作用。有人能告诉我哪里出了问题吗?
[N.B.:在~/.bashrc
中添加同一行可以。]
根据给定的选项,bash
可以作为交互式shell或登录shell运行。默认的交互式shell模式不读取~/.bash_profile
登录shellbash do.
参见:
首先,一些设置:
% cat ~/.bashrc
…
export BASHRC="yes"
…
% cat ~/.bash_profile
…
export BASH_PROFILE="yes"
…
现在运行一个常规的(交互式)bash:
% bash
[galaux@magenta ~]$ echo $BASHRC
yes
[galaux@magenta ~]$ echo $BASH_PROFILE
请注意,我们用最后一个得到了yes
,而不是。
现在使用登录shell:
% bash --login
[galaux@magenta ~]$ echo $BASHRC
yes
[galaux@magenta ~]$ echo $BASH_PROFILE
yes
参见man bash
中的发票段。