在linux中覆盖.bash_profile文件

时间:2012-10-30 12:11:11

标签: linux

在我的 .bash_profile 文件中 我想更新PATH变量的值。 另外,想要添加 JAVA_PATH JRE_HOME 变量。 而且,我想用 Shell脚本来完成所有这些。

我不知道如何使用命令执行此操作,因此我使用 cat 命令覆盖整个文件 -

cat >> ~/.bash_profile << _EOF_
#!/bin/bash/
if [ -f ~/.bashrc ]; then
.~/.bashrc
fi

#User specific environment and startup programs
JAVA_PATH=/usr/java/jdk1.6.0_35/bin
PATH=$JAVA_PATH:$PATH:HOME/bin
JRE_HOME=/usr/jdk1.6.0_35

export PATH
unset USERNAME
_EOF_

使用此文件执行此操作会产生什么影响? 如何轻松更新 PATH 变量的值并在此文件中插入 JAVA_PATH JRE_HOME 变量?

1 个答案:

答案 0 :(得分:0)

你需要使用一些文本操作工具 - 比如sed或awk ......

以下是如何更改.bash_profile

中的PATH值的简单示例
sed 's/^\([[:space:]]*PATH=\)\(.*\)$/\1"\/bin:\/usr\/bin:~\/bin"/' ~/.bash_profile

注意转义的特殊字符(和/

您要覆盖旧文件,需要通过以下临时文件来执行:

sed ... > /tmp/tmpbashprofile$$
mv /tmp/tmpbashprofile$$ ~/.bash_profile

添加新设置很简单:

echo "JAVA_PATH=/usr/java/jdk1.6.0_35/bin" >> ~/.bash_profile

注意双&gt;&gt; - 它将数据附加到指定文件