bash: /home/rathin/.profile :: Нет такого файла или каталога при попытке перезагрузить его через & ldquo; source ~ / .profile & rdquo; после редактирования через & ldquo; vi ~ / .profile & rdquo;

После того, как я отредактировал команду ~/.profile с помощью команды vi, не смог успешно выйти из нее.

Итак, я закрыл терминал, и когда я попробовал его снова после повторного открытия терминала, он показал дубликат файл с именем ~/.profile.swp.

Теперь он показывает

bash: /home/rathin/.profile:: No such file or directory

, когда я пытаюсь

source ~/.profile

Он также показывает ошибку

Error loading /home/user/.profile no such file or directory found.

, когда я перезагружаю свой ноутбук.

Это результат работы vi ~/.profile

~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

"~/.profile" 25 lines, 677 characters

Любая помощь будет высоко оценена.

1
задан 26 July 2015 в 13:08

1 ответ

TL; DR Первая строка должна быть комментарием

# ~/.profile: executed by the command interpreter for login shells.

Поэтому запустите

perl -i.bak -0777 -pe 's/^/# /' ~/.profile

Команда добавляет # в начало первой строки и создает файл резервной копии: ~/.profile.bak

Объяснение

-0777 изменяет разделитель строк на undef, позволяя нам slurp файл, подавая все линии на Perl за один раз. -p обрабатывает файл по строкам и печатает вывод. -e - это то, что позволяет нам указать код Perl, который мы хотим запустить прямо в командной строке.
1
ответ дан 23 May 2018 в 18:46
  • 1
    Простая копия и паста, мне это нравится! +1 Протестировал это сам, отлично работает! Я также обновил свой ответ, чтобы отразить его. Спасибо! знак равно – Terrance 26 July 2015 в 18:48
  • 2
    @Terrance спасибо =) – A.B. 26 July 2015 в 18:56

Другие вопросы по тегам:

Похожие вопросы: