我使用带有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
中添加相同的行就没问题了。]
答案 0 :(得分:0)
根据提供的选项,bash
可以作为交互式shell 或登录shell 运行。默认的交互式shell 模式不会读取~/.bash_profile
。 登录shell bash 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
中的段落 INVOCATION 。