Sed ошибка "нет такого файла или каталога" при настройке bashrc - PullRequest
0 голосов
/ 26 мая 2018

Извините, что задаю вопрос, который может показаться наивным некоторым опытным людям.Я не очень хорош в Linux, когда пытаюсь изменить ~ / .bashrc, как показано ниже:

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

, когда я его получаю, я получаю сообщение об ошибке:

sed: canне читал .bash_logout: Нет такого файла или каталога

Что это значит и как мне это исправить?

Большое спасибо.

1 Ответ

0 голосов
/ 26 мая 2018

Проблема в том, что вы не используете путь.Если вы пытаетесь просто удалить строку, используйте:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...