Desordenado o arquivo bash.bashrc, os comandos não funcionam mais

3

Tentando instalar o Java, tentei adicioná-lo ao caminho do executável com a linha:

    export PATH=/usr/lib/jvm/jdk1.7.0_60/bin:$PATH

no arquivo /etc/bash.bashrc do sistema.

Por algum motivo, isso não funcionou, então usei:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0_60
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH

Inicialmente, isso pareceu funcionar bem, exceto que agora sudo , ls , find e todo o resto não funcionam mais.

Eu então tentei apagar essas linhas e reiniciar o sistema, mas o comando não estava disponível; os erros são:

Command 'sudo' is available in '/usr/bin/sudo'
The command could not be located because '/usr/bin' is not included in the PATH  environment variable.
sudo: command not found

Para corrigir isso, copiei o conteúdo de /etc/environment em /etc/bash.bashrc , adicionei a linha export PATH=$PATH:/usr/lib/jvm/jdk1.7.0_60/bin e, em seguida, digitei source /etc/bash.bashrc .

Mais uma vez, tudo estava funcionando, mas apenas em uma única janela de terminal e não depois de uma reinicialização.

Eu tentei outras coisas e, atualmente, no final de /etc/bash.bashrc , há as linhas:

export PATH=$PATH:/usr/lib/jvm/jdk1.7.0_60/bin/
export JAVA_HOME=$JAVA_HOME:/usr/lib/jvm/jdk1.7.0_60/bin/java/

Mas tenho que digitar source /etc/environment e source /etc/bash.bashrc em todas as janelas de terminal para obter os java e os comandos. É como se minhas alterações não fossem permanentes.

Atualmente, o resultado de echo $PATH em uma janela de terminal limpa é:

/usr/lib/jvm/jdk1.7.0_60/bin/

depois de source /etc/environment , torna-se:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

e, eventualmente, após source /etc/bash.bashrc , é:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/jdk1.7.0_60/bin/

Arquivo completo do bash.bashrc:

# System-wide .bashrc file for interactive bash(1) shells.

# To enable the settings / commands in this file for login shells as well,
# this file has to be sourced in /etc/profile.

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

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

# 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, overwrite the one in /etc/profile)
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

# Commented out, don't overwrite xterm -T "title" -n "icontitle" by default.
# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
#    PROMPT_COMMAND='echo -ne "3]0;${USER}@${HOSTNAME}: ${PWD}
    export PATH=/usr/lib/jvm/jdk1.7.0_60/bin:$PATH
7"' # ;; #*) # ;; #esac # enable bash completion in interactive shells #if [ -f /etc/bash_completion ] && ! shopt -oq posix; then # . /etc/bash_completion #fi # sudo hint if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then case " $(groups) " in *\ admin\ *) if [ -x /usr/bin/sudo ]; then cat <<-EOF To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. EOF fi esac fi # if the command-not-found package is installed, use it if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then function command_not_found_handle { # check because c-n-f could've been removed in the meantime if [ -x /usr/lib/command-not-found ]; then /usr/bin/python /usr/lib/command-not-found -- "$1" return $? elif [ -x /usr/share/command-not-found/command-not-found ]; then /usr/bin/python /usr/share/command-not-found/command-not-found -- "$1" return $? else printf "%s: command not found\n" "$1" >&2 return 127 fi } fi export PATH=$PATH:/usr/lib/jvm/jdk1.7.0_60/bin/ export JAVA_HOME=$JAVA_HOME:/usr/lib/jvm/jdk1.7.0_60/bin/java/

Alguém pode me ajudar? Estou no Ubuntu 12.04 LTS

    
por FN11 01.07.2014 / 18:39

2 respostas

1

Tente restaurar o bash.bashrc para sua configuração padrão e edite sua cópia local do PATH no seu arquivo ~ / .bashrc. Em outras palavras, coloque essas duas últimas linhas:

export PATH=$PATH:/usr/lib/jvm/jdk1.7.0_60/bin/
export JAVA_HOME=$JAVA_HOME:/usr/lib/jvm/jdk1.7.0_60/bin/java/

no seu arquivo ~ / .bashrc em vez de /etc/bash.bashrc. Você pode ter que reiniciar para que as mudanças ocorram.

Se isso funcionar, e você ainda quiser que as alterações sejam feitas em todo o sistema, anexe a variável PATH em / etc / environment para ter o caminho Java.

    
por 01.07.2014 / 19:30
2

Para restaurar seu /etc/bash.bashrc ao seu estado original (se você não conseguir lembrar o que é isso), faça:

sudo rm /etc/bash.bashrc
sudo apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall bash

Caso contrário, a @ resposta do aprad046 parece ser a melhor solução.

    
por 01.07.2014 / 19:32