简体   繁体   English

在ubuntu中编辑bashrc文件后命令不起作用

[英]Commands not working after editing bashrc file in ubuntu

I had added export statements for Hcatalog in my .bashrc file which eventually messed up my .basrc file. 我在.bashrc文件中添加了Hcatalog的导出语句,最终使我的.basrc文件混乱。 Now even if I open bashrc file in my cmd and remove those two export statements, still I am not able to run any of the commands. 现在,即使我在cmd中打开bashrc文件并删除了这两个export语句,我仍然无法运行任何命令。

My current bashrc file: 我当前的bashrc文件:

>     # ~/.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 or lines starting with space in the history.
>     # See bash(1) for more options
>     HISTCONTROL=ignoreboth
> 
> # 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
> 
> # If set, the pattern "**" used in a pathname expansion context will
> # match all files and zero or more directories and subdirectories.
> #shopt -s globstar
> 
> # 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
> 
> export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
> 
> export HADOOP_PREFIX=/home/itelligence/hadoop-1.2.0 export
> PATH=$PATH:$HADOOP_PREFIX/bin
> 
> export HADOOP_COMMON_HOME=/home/itelligence/hadoop-1.2.0 export
> HADOOP_MAPRED_HOME=/home/itelligence/hadoop-1.2.0 export
> HBASE_HOME=/home2/itelligence/hbase-0.94.20 export
> HIVE_HOME=/home/itelligence/hive-0.12.0
> 
> export PIG_PREFIX=/home/itelligence/pig-0.11.1 export
> PATH=$PATH:$PIG_PREFIX/bin
> 
> export HIVE_PREFIX=/home/itelligence/hive-0.12.0 export
> PATH=$PATH:$HIVE_PREFIX/bin
> 
> export HBASE_PREFIX=/home/itelligence/hbase-0.94.20 export
> PATH=$PATH:$HBASE_PREFIX/bin
> 
> export ZOOKEEPER_PREFIX=/home/itelligence/zookeeper-3.4.6 export
> PATH=$PATH:$ZOOKEEPER_PREFIX/bin
> 
> export SQOOP_PREFIX=/home/itelligence/sqoop-1.4.4.bin__hadoop-1.0.0
> export PATH=$PATH:$SQOOP_PREFIX/bin export
> FLUME_PREFIX=/home/itelligence/apache-flume-1.6.0-bin export
> PATH=$PATH:$FLUME_PREFIX/bin
> 
>     export CASSANDRA_PREFIX=/home/itelligence/apache-cassandra-2.0.8
>     export PATH=$PAT4H:$CASSANDRA_PEFIX/bin

And the error which i am encountering are: hadoop namenode -format hadoop:command not found 我遇到的错误是: hadoop namenode -format hadoop:command not found

Could anyone please help me with this. 谁能帮我这个忙。 TIA. TIA。

There's a lot of things wrong. 有很多错误。 Half if statements, some commented some just gone. 如果有一半的陈述,有人评论,有些则消失了。 And exports have been moved to the end of the lines. 出口已移至生产线的末端。

I think you should reset the file: cp -f /etc/skel/.bashrc ~/ 我认为您应该重置文件: cp -f /etc/skel/.bashrc ~/

Edit your bashrc file, delete all content after " # sources /etc/bash.bashrc)." 编辑您的bashrc文件,删除“#源/etc/bash.bashrc)之后的所有内容。 and add below lines. 并添加以下行。

if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
    . /etc/bash_completion fi

export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64

export HADOOP_PREFIX=/home/itelligence/hadoop-1.2.0 
export PATH=$PATH:$HADOOP_PREFIX/bin

export HADOOP_COMMON_HOME=/home/itelligence/hadoop-1.2.0 
export HADOOP_MAPRED_HOME=/home/itelligence/hadoop-1.2.0 
export HBASE_HOME=/home2/itelligence/hbase-0.94.20 
export HIVE_HOME=/home/itelligence/hive-0.12.0

export PIG_PREFIX=/home/itelligence/pig-0.11.1 
export PATH=$PATH:$PIG_PREFIX/bin

export HIVE_PREFIX=/home/itelligence/hive-0.12.0 
export PATH=$PATH:$HIVE_PREFIX/bin

export HBASE_PREFIX=/home/itelligence/hbase-0.94.20 
export PATH=$PATH:$HBASE_PREFIX/bin

export ZOOKEEPER_PREFIX=/home/itelligence/zookeeper-3.4.6 
export PATH=$PATH:$ZOOKEEPER_PREFIX/bin

export SQOOP_PREFIX=/home/itelligence/sqoop-1.4.4.bin__hadoop-1.0.0
export PATH=$PATH:$SQOOP_PREFIX/bin 
export FLUME_PREFIX=/home/itelligence/apache-flume-1.6.0-bin 
export PATH=$PATH:$FLUME_PREFIX/bin

export CASSANDRA_PREFIX=/home/itelligence/apache-cassandra-2.0.8
export PATH=$PAT4H:$CASSANDRA_PEFIX/bin

post this restart your bashrc file 发布此重新启动您的bashrc文件

source .bashrc

if issue still persist 如果问题仍然存在

type the following in your terminal, 在您的终端中输入以下内容,

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

It will replace your corrupt ~/.bashrc with a fresh one. 它将用新的替换您损坏的〜/ .bashrc。 After that you need to source the ~/.bashrc so that the change take place immediately, write in terminal, 之后,您需要获取〜/ .bashrc的源,以便立即进行更改,在终端中写入,

source ~/.bashrc

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM