Как мне восстановить.bashrc по умолчанию?

Я пытался установить инструменты разработчика Android на Eclipse, и я следил за информацией в этом видео.

Как сказано в видео, я добавил следующие две строки кода в .bashrc файл:

export PATH=$(PATH):-/android-sdk/tools/
export PATH=$(PATH):-/android-sdk/platform-tools/

Кажется, однако, что это не помогло мне установить файлы Android на Eclipse, так как у меня все еще есть проблемы с этим. Более того, кажется, что я не могу сделать какую-либо команду в терминале без серьезной ошибки сейчас! Каждый раз, когда я пытаюсь выполнить команду в терминале, я получаю следующее сообщение:

Команда не может быть найдена, потому что /usr/bin не включен в переменную окружения PATH.

Есть ли, чтобы восстановить .bashrc по умолчанию?

4 ответа

Решение

Идея: существуют резервные копии .bashrc, .profile и т. д. в /etc/skel/, Так можно заменить коррумпированного .bashrc просто обманув оттуда.

Внимание: если вы замените .bashrc файл с новым, он удалит любые другие изменения, которые вы сделали к нему. Например, можно добавить псевдонимы, пользовательские функции или PATH в .bashrc, Когда вы замените файл, все эти изменения будут потеряны. Лучше вы можете сохранить копию вашего измененного .bashrc перед заменой. Позже вы сможете аккуратно извлечь из него необходимую деталь. Чтобы сохранить резервную копию вашего измененного .bashrc в вашем домашнем каталоге с именем my_bashrc используйте следующее в терминале,

/bin/cp ~/.bashrc ~/my_bashrc

Зачем /bin/cp : В случае, если вы испортили $PATH переменная при изменении ~/.bashrc весь исполняемый файл будет недоступен с вашего терминала и cp больше не будет работать Так что рекомендуется звонить cp с полным путем как /bin/cp пока вы пытаетесь скопировать что-то с поврежденным ~/.bashrc,

Наконец, используйте следующую команду в вашем терминале, чтобы заменить ~/.bashrc со свежим экземпляром,

/bin/cp /etc/skel/.bashrc ~/

Это заменит ваш коррумпированный ~/.bashrc со свежим. После этого вам нужно ~/.bashrc чтобы изменения произошли немедленно, напишите в терминал,

. ~/.bashrc

или же,

source ~/.bashrc

или, если это не работает, вы можете закрыть терминал и открыть его снова.

Если вы не можете получить рабочую оболочку

Через файловый браузер

  • Откройте браузер файлов, перейдите в домашний каталог, нажмите Ctrl H, чтобы отобразились скрытые файлы. редактировать .bashrc по мере необходимости.
  • Откройте браузер файлов, перейдите к /etc/skel нажмите Ctrl H, чтобы показать скрытые файлы. копия .bashrc в вашу домашнюю папку, чтобы восстановить его по умолчанию.

Через меню запуска

  • Нажмите Alt F2, введите gedit .bashrc нажмите Enter. Редактировать по мере необходимости.
  • Нажмите Alt F2, используйте команду /bin/cp /etc/skel/.bashrc ~/ как указано в ответе souravc, чтобы восстановить его по умолчанию.

Через терминал

  • Откройте терминал и не обращайте внимания на то, что у вас нет оболочки. Выберите " Правка" → " Настройки" → " Профили":

  • Либо создайте новый профиль, либо измените текущий профиль, чтобы изменить команду:

    Используйте либо /bin/bash --norc или же /bin/bash --rcfile=/etc/skel/.bashrc,

  • Начните новую вкладку (с пользовательским профилем, если вы его создали). Используйте рабочую оболочку по мере необходимости.
  • Удалите пользовательский профиль или снимите флажок пользовательской команды, если вы отредактировали профиль по умолчанию, как только вы закончите.

Если у вас есть SSH

Запустите SSH с помощью специальной команды, которая должна помочь вам обойти .bashrc:

ssh -t <host> dash

dash оболочка (иначе /bin/sh) минимален, но достаточен для восстановления .bashrc,

Если вы не можете получить графический интерфейс и не имеете SSH

Загрузитесь в режиме восстановления ( Как загрузить в режиме восстановления?), В результате чего вы получите корневую оболочку. Смотреть в /home для домашнего каталога вашего пользователя.

Через TTY

Вы можете ввести TTY, нажав Ctrl+Alt+F1, где вы должны войти в систему с вашим именем пользователя и паролем. Ctrl+Alt+F7 вернет вас к вашему GUI позже.

Теперь скопируйте существующий сырой .bashrc от /etc/skel в ваш домашний каталог по

cp /etc/skel/.bashrc ~/

Может быть, даже принести остальное, если вы не уверены, что ваш .profile тоже изменился.

cp /etc/skel/.profile ~/

Теперь, чтобы получить .bashrc чтобы иметь немедленный эффект, вы можете захотеть получить его:

source ~/.bashrc

Если вы заменили свой .profile Вам также необходимо перезагрузить компьютер, чтобы он вступил в силу.

Я попробовал вышеуказанные ответы, но по какой-то причине мой /etc/skel/ в каталоге не было правильных файлов.

Я нашел копию по умолчанию ~/.bashrc файл на этом GitHub Gist Марио Bonales. Полный сценарий скопирован здесь для полноты.

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines in the history. See bash(1) for more options
# ... or force ignoredups and ignorespace
HISTCONTROL=ignoredups:ignorespace

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
    # We have color support; assume it's compliant with Ecma-48
    # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
    # a case would tend to support setf rather than setaf.)
    color_prompt=yes
    else
    color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion
fi
Другие вопросы по тегам