Archlinux+;MATE Terminal-`.bash_配置文件`

Archlinux+;MATE Terminal-`.bash_配置文件`,bash,terminal,archlinux,.bash-profile,mate,Bash,Terminal,Archlinux,.bash Profile,Mate,我使用ArchLinux和MATE作为桌面环境。所以终端仿真器是配对终端。最近我安装了gem install-jekyll。但是当我运行jekyll-v时,它说bash:jekyll:command-notfound。所以我尝试将Jekyll的path添加到path变量中 我运行了PATH=$PATH/$HOME/.gem/ruby/2.2.0/bin,它运行得非常好。现在我可以运行jekyll命令了。为了将其永久添加到PATH变量中,我编辑了~/.bash\u profile文件,如下所示。它

我使用ArchLinux和MATE作为桌面环境。所以终端仿真器是配对终端。最近我安装了
gem install-jekyll
。但是当我运行
jekyll-v
时,它说
bash:jekyll:command-notfound
。所以我尝试将Jekyll的path添加到path变量中

我运行了
PATH=$PATH/$HOME/.gem/ruby/2.2.0/bin
,它运行得非常好。现在我可以运行jekyll命令了。为了将其永久添加到PATH变量中,我编辑了
~/.bash\u profile
文件,如下所示。它在重新启动后不工作。但是
source~/.bash\u配置文件
工作得非常完美

#
# ~/.bash_profile
#

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

export PATH="${PATH}:/home/heisenberg/.gem/ruby/2.2.0/bin"
根据这一点,这是一种正确的方法,可以将某些东西永久地连接到路径上。但它不起作用。有人能告诉我哪里出了问题吗


[N.B.:在
~/.bashrc
中添加同一行可以。]

根据给定的选项,
bash
可以作为交互式shell或登录shell运行。默认的交互式shell模式不读取
~/.bash\u profile
。登录shell bash-do

见:

首先,一些设置:

% cat ~/.bashrc
…
export BASHRC="yes"
…
% cat ~/.bash_profile
…
export BASH_PROFILE="yes"
…
现在运行常规(交互式)bash:

注意,最后一个问题我们没有得到而不是
yes

现在使用登录shell:


参见
manbash

的段落调用
echo“$PATH==”
?@chepner的输出是什么,
/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site\u perl:/usr/bin/vendor\u perl:/usr/bin/core\u perl===
当bash不工作时,您如何登录/运行它?
源代码~/.bash\u配置文件
工作正常,但重新启动后就不见了(听起来像是
bash
不是您的登录shell,因此
.bash\u profile
根本就没有来源。
% bash
[galaux@magenta ~]$ echo $BASHRC
yes
[galaux@magenta ~]$ echo $BASH_PROFILE
% bash --login
[galaux@magenta ~]$ echo $BASHRC
yes
[galaux@magenta ~]$ echo $BASH_PROFILE
yes