1

我在 Ubuntu 12.04 中工作。

我有点不确定我在这里做了什么。大约一个月前,我从 Apache 的镜像中下载了 hadoop,然后将其解压到了 usr/local/hadoop 中。我还通过 maven 将 mahout 安装到 /opt/mahout。

在 .bash_profile 我有

export HADOOP_CONF_DIR=$HADOOP_HOME/conf

export MAHOUT_HOME=/opt/mahout/bin

export PATH=$PATH:$MAHOUT_HOME

export HADOOP_HOME=/usr/local/hadoop/bin

在 .bashrc 的底部我有

# Add Hadoop bin/ directory to PATH
export PATH=$PATH:$HADOOP_HOME/bin

# Add Mahout bin/ directory to PATH
export PATH=$PATH:MAHOUT_HOME/bin

完成所有这些后,如果我打开一个新的终端窗口并输入:

echo $HADOOP_HOME

我会得到 /usr/local/hadoop

如果我输入

echo $MAHOUT_HOME

显示了一个空白行。没有文字。

所以今天我回到 .bashrc 并注意到我有,在某个时候,把它放进去:

# Set Hadoop-related environment variables
export HADOOP_HOME=/usr/local/hadoop

所以在下面我添加了

# Set Mahout-related environment variables
export MAHOUT_HOME=/opt/mahout/bin

瞧,echo $MAHOUT_HOME 现在在终端中生成 opt/mahout/bin。

那么为什么有些指南说将导出行添加到 .bash_profile 而其他指南说添加到 .bashrc?为什么会有空格而不是错误消息?

4

1 回答 1

1

.bash_profile为登录 shell 执行,而.bashrc为交互式非登录 shell 执行。

所以通常第一个是在您以用户身份登录(或 ssh)计算机时获取的,而另一个是在您每次打开诸如 xterm 或 gnome-terminal 之类的终端时执行的。

于 2013-06-26T13:30:16.083 回答