在设置bashrc时出现“没有这样的文件或目录”的错误

时间:2018-05-26 03:04:57

标签: bash sed

很抱歉,向一些有经验的人提出一个看起来很幼稚的问题。当我尝试修改〜/ .bashrc时,我不擅长Linux,如下所示:

sed -i s/'history -cw'//g .bash_logout

当我采购它时,我收到一条错误说:

  

sed:无法读取.bash_logout:没有这样的文件或目录

这是什么意思,我该如何解决?

非常感谢。

1 个答案:

答案 0 :(得分:2)

问题在于您没有使用该路径。如果您尝试删除该行,请使用:

sed -i s/'history -cw'//g .bash_logout  #if I am in the current dir

sed -i s/'history -cw'//g ${HOME}/.bash_logout

sed -i s/'history -cw'//g ~/.bash_logout

sed -i s/'history -cw'//g /path/to/.bash_logout

要添加到文件,请考虑以下事项:

#!/bin/bash
if ! grep -q "history -cw" .bash_logout ;then
        echo "lets add this baby"
        echo "history -cw" >> .bash_logout
else
        echo "it is already there, don't add .."
fi

注意:您当前的问题是您没有指定文件所在的路径。尽可能明确:

此脚本将值设置为完整路径,并在尝试执行任何操作之前检查该文件是否存在:

LOGOUT="/home/user/.bash_logout"
if [ ! -f "$LOGOUT" ] ;then
        echo "file not found"
        exit
fi

if ! grep -q "history -cw" "$LOGOUT" ;then
        echo "lets add this baby"
        echo "history -cw" >> "$LOGOUT"
else
        echo "it is already there, don't add .."
fi