我想通过〜/ .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。
答案 0 :(得分: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
有几点需要注意:
.bash_profile
确保touch
存在;然后你不需要测试它的存在。
只需要一行;您可以在使用export
标记导出到环境时设置变量。
逃离$
中的$PATH
,以便将一个字面的美元符号写入.bash_profile
; $dr
不需要相同的内容,因为您希望扩展以便添加正确的目录。
使用>>
附加此新行,因此您不会覆盖现有文件。
答案 1 :(得分:-2)
~/.bashrc
在家中试用此文件。