Откройте файл, прочитайте строки, найдите определенную строку и добавьте строку к ее концу в ruby. - PullRequest
0 голосов
/ 14 февраля 2012

Итак, я хочу прочитать в моем .bash_profile и добавить строку в PATH.

Должен ли я открывать файл и читать в строке, пока не найду то, что хочу, а затем заменить? Или сначала прочитать во всем?

File.open("/root/.bash_profile", "w+") do |file|
while line = line.gets
    if line =~ /^PATH/
        Not sure how to append
    end
end

1 Ответ

1 голос
/ 14 февраля 2012

Режим w+ для файлов стирает все содержимое (я обнаружил это в скрипте, который пытался изменить его источник).Если вы хотите иметь возможность писать, но сохранять содержимое, используйте режим r+.

ПРИМЕЧАНИЕ. После разрешения проблемы не добавьте строку с этим эффектом в конец профиля bash.?:

PATH=/some/path:$PATH

Или это не сработает?Потому что код для этого прост:

f=File.new("~/.bash_profile", "a+")
f.puts "PATH=/some/path:$PATH"

Это может работать так же хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...