Проблема в том, что вы не используете путь.Если вы пытаетесь просто удалить строку, используйте:
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