很抱歉,向一些有经验的人提出一个看起来很幼稚的问题。当我尝试修改〜/ .bashrc时,我不擅长Linux,如下所示:
sed -i s/'history -cw'//g .bash_logout
当我采购它时,我收到一条错误说:
sed:无法读取.bash_logout:没有这样的文件或目录
这是什么意思,我该如何解决?
非常感谢。
答案 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