0

我想通过 ~/.bash_profile 文件将目录添加到我的 PATH 中,尽管我的 Ubuntu 中没有这样的文件。我有以下代码,它将检查人们是否拥有该文件,如果没有,将创建一个并添加所有现有路径目录和用户输入的路径。

#!/bin/bash

echo "Please enter a directory that you want to add to your PATH: "
read dr

if [ -f ~/.bash_profile ]
then
    # Add the read 'dr' directory to the end of the line that starts 
    # with PATH=, in your ~/.bash_profile file
    source ~/.bash_profile
else
    echo "PATH=$PATH:$dr" > ~/.bash_profile
    echo "export PATH" >> ~/.bash_profile
    source ~/.bash_profile
fi

关键是,如果文件已经存在,我不知道如何检查以找到以 PATH= 开头的行,然后将用户输入的目录添加到该行的末尾。请注意,这只是给我的一个练习。我应该通过 ~/.bash_profile 将用户输入的目录添加到 PATH 中。不过,我不知道为什么有人应该费心使用 ~/.bash_profile 将新目录添加到 PATH 中。

4

2 回答 2

1

查看您要添加到新的行.bash_profile

echo "PATH=$PATH:$dr" > ~/.bash_profile
echo "export PATH" >> ~/.bash_profile

第一个已经添加$dr到 中PATH,不管已经在 中PATH。这意味着即使.bash_profile已经存在,您也可以执行相同的操作:只需添加一个附加另一个目录的新行:

touch ~/.bash_profile
echo "export PATH=\$PATH:$dr" >> ~/.bash_profile

需要注意的几点:

  1. 通过ing确保.bash_profile存在;touch那么你不需要测试它的存在。

  2. 只需要一行;您可以在使用时设置变量export以将其标记为导出到环境。

  3. 转义$in$PATH以便将文字美元符号写入.bash_profile; 不需要相同的内容,$dr因为您想让它展开,以便添加正确的目录。

  4. 使用 追加这一新行>>,这样您就不会覆盖现有文件。

于 2013-03-19T21:03:11.037 回答
-2
~/.bashrc 

在家里试试这个文件。

于 2013-03-19T19:44:31.943 回答