使用bash脚本从.bashrc中删除一行

时间:2016-03-09 15:04:27

标签: linux bash file

我有一个bash安装脚本,它使用以下语法在我的.bashrc文件中添加一行:

echo "export MY_APP_INSTALL_PATH="$directory"" >> ~/.bashrc
source ~/.bashrc

对于等效的卸载脚本,我想删除附加到.bashrc文件的行,但我找不到这样做的方法。

有办法吗?

2 个答案:

答案 0 :(得分:2)

$ cat file.txt
Hello world
this is a
simple file with some lines
$ sed '/this is a/d' file.txt
Hello world
simple file with some lines

您的sed甚至可能支持-i标志,该标志直接在文件中进行更改,而不是在stdout上打印结果。

工作原理: sed搜索/之间的文本,然后删除这些行

答案 1 :(得分:2)

您可以使用以下内容:

path_to_purge="MY_APP_INSTALL_PATH"

# Remove it from .bashrc
sed -i "/^export ${path_to_purge}=/d" ~/.bashrc

# unset it in the environment
unset ${path_to_purge}
unset path_to_purge